Compare commits

...
1413 Commits
Author SHA1 Message Date
Marek Posolda 5e51204114 Merge pull request #686 from mposolda/master
KEYCLOAK-674 Reduce info level logging in adapters
2014-09-10 16:04:48 +02:00
mposolda 4c0751c1a0 KEYCLOAK-674 Reduce info level logging in adapters 2014-09-10 16:02:22 +02:00
Marek Posolda ec1434c65e Merge pull request #685 from mposolda/master
Support for cors in PublicRealmResource
2014-09-10 13:16:21 +02:00
mposolda aa7bbeb11b Support for cors in PublicRealmResource 2014-09-10 13:05:53 +02:00
Marek Posolda 88a39dbaf7 Merge pull request #683 from mposolda/master
KEYCLOAK-670 allow ServerInfo to be available with cors
2014-09-10 10:52:33 +02:00
mposolda 52920119bd Ensure that ServerInfo request is authorized and add CORS support to it 2014-09-10 10:42:05 +02:00
mposolda 47ac358bb6 Fix timeouts in cors example 2014-09-10 10:42:04 +02:00
Stian Thorgersen 62aa2d7f65 Merge pull request #684 from stianst/master
Fix CRSF protection on Chrome, and add check if 'Referer' header
2014-09-10 10:34:49 +02:00
Stian Thorgersen 557de7690e Fix CRSF protection on Chrome, and add check if 'Referer' header 2014-09-10 10:32:56 +02:00
Bill Burke 4c8da3d614 Merge pull request #682 from patriot1burke/master
version bump
2014-09-09 13:35:39 -04:00
Bill Burke 3f539c6d5c version bump 2014-09-09 13:34:56 -04:00
Bill Burke 5b1d67f17d Merge pull request #681 from patriot1burke/master
change CSRF to random value
2014-09-09 13:27:59 -04:00
Bill Burke e3e32982a0 change CSRF to random value 2014-09-09 13:27:34 -04:00
Bill Burke b771cd30e7 Merge pull request #680 from patriot1burke/master
nolog CORS exception
2014-09-09 12:54:55 -04:00
Bill Burke ac29db51e5 nolog CORS exception 2014-09-09 12:51:55 -04:00
Bill Burke 6e3770f04a Merge pull request #679 from patriot1burke/master
CSRF
2014-09-09 12:07:29 -04:00
Bill Burke d0a3a04d34 CSRF 2014-09-09 12:06:48 -04:00
Stian Thorgersen c5662020d8 Merge pull request #678 from stianst/master
Moved logo-example themes to examples/themes
2014-09-09 14:09:58 +02:00
Stian Thorgersen fea0d1af66 Moved logo-example themes to examples/themes 2014-09-09 14:09:32 +02:00
Stian Thorgersen 30cd28d288 Merge pull request #677 from stianst/master
KEYCLOAK-668 Make sure keycloak.js doesn't send multiple concurrent requ...
2014-09-09 13:46:21 +02:00
Stian Thorgersen c475721dab KEYCLOAK-668 Make sure keycloak.js doesn't send multiple concurrent requests to refresh the token 2014-09-09 13:45:55 +02:00
Stian Thorgersen 839069ca15 Merge pull request #676 from stianst/master
Fixes to admin console random logout
2014-09-09 11:02:19 +02:00
Stian Thorgersen 09860f1ee1 Fix test 2014-09-09 11:01:24 +02:00
Stian Thorgersen a1b6378bef KEYCLOAK-667 Remove client-side idle timeout from admin console - with sso idle timeout we have a server-side mechanism for this 2014-09-09 11:01:24 +02:00
Stian Thorgersen 3530fa6259 KEYCLOAK-666 Update session last refreshed on every token refresh 2014-09-09 11:01:24 +02:00
Bill Burke d22afd78e6 Merge pull request #675 from patriot1burke/master
doc update
2014-09-08 09:09:07 -04:00
Bill Burke f1986093e6 doc update 2014-09-08 09:07:51 -04:00
Stian Thorgersen 6c5477bc02 Merge pull request #674 from stianst/master
Minor fixes to theme docs
2014-09-08 14:59:34 +02:00
Stian Thorgersen ae6fd458e8 Minor fixes to theme docs 2014-09-08 14:59:09 +02:00
Stian Thorgersen cdda48d895 Merge pull request #673 from stianst/master
Typo fix in docs
2014-09-08 10:25:18 +02:00
Stian Thorgersen 556314ae15 Typo fix in docs 2014-09-08 10:24:47 +02:00
Stian Thorgersen a2845fa0b4 Merge pull request #672 from stianst/master
Added instruction to manually configure and deploy the unconfigured demo
2014-09-03 13:32:33 +02:00
Stian Thorgersen 8c4a3374d3 Added instruction to manually configure and deploy the unconfigured demo 2014-09-03 13:20:58 +02:00
Stian Thorgersen b97106b750 Adding changes to examples overview readme 2014-09-03 13:18:14 +02:00
Stian Thorgersen 7907abd206 Merge pull request #671 from stianst/master
Added README.md with Overview of all examples
2014-09-03 11:22:42 +02:00
Stian Thorgersen 090871f8b9 Added README.md with Overview of all examples 2014-09-03 11:22:08 +02:00
Stian Thorgersen 0baf12c0ef Merge pull request #670 from stianst/master
Updates to server-installation docs
2014-09-03 10:13:36 +02:00
Stian Thorgersen 1599371ee5 Updates to server-installation docs 2014-09-03 10:13:05 +02:00
Stian Thorgersen 3bc27ef366 Merge pull request #669 from stianst/master
Fix AccountTest.viewLog test
2014-09-03 08:53:56 +02:00
Stian Thorgersen d5c5cc8321 Fix AccountTest.viewLog test 2014-09-03 08:53:02 +02:00
Bill Burke aea00fc574 Merge pull request #668 from patriot1burke/master
admin theme refactor
2014-09-02 11:37:32 -04:00
Bill Burke e9dc8b2460 refactor admin theme 2014-09-02 11:36:59 -04:00
Bill Burke eaed199b20 add logo example theme 2014-09-02 11:11:26 -04:00
Marek Posolda f7fcefc11c Merge pull request #667 from mposolda/master
KEYCLOAK-659 Export current version number during export
2014-09-02 17:09:10 +02:00
mposolda 1f0dcbddbe KEYCLOAK-659 Export current version number during export 2014-09-02 17:06:58 +02:00
Stian Thorgersen 9af0743883 Merge pull request #666 from stianst/master
Updated docs to inherit project version from keycloak-parent
2014-09-02 14:07:24 +02:00
Stian Thorgersen 7d4863783c Use keycloak-parent in docbook to inherit project version 2014-09-02 13:57:23 +02:00
Stian Thorgersen d87718f768 Inject project version from pom 2014-09-02 13:22:15 +02:00
Stian Thorgersen c7ba6159b5 Merge pull request #665 from stianst/master
Doc fix
2014-09-02 12:52:42 +02:00
Stian Thorgersen b43909aff1 Doc fix 2014-09-02 12:52:22 +02:00
Marek Posolda 87d9a5422d Merge pull request #664 from mposolda/master
Use stronger passwords in LDAP tests due to password policy on MSAD2012
2014-09-02 12:49:34 +02:00
mposolda 44937d33ad Use stronger passwords in LDAP tests due to password policy on MSAD2012 2014-09-02 12:43:14 +02:00
Stian Thorgersen b561080f3a Merge pull request #663 from stianst/master
Fix search for users by attribute on mongo
2014-09-02 11:52:15 +02:00
Stian Thorgersen d905ce12e3 Fix search for users by attribute on mongo 2014-09-02 11:51:29 +02:00
Marek Posolda 7040bd1c51 Merge pull request #662 from mposolda/master
Fix SyncProvidersTest with ActiveDirectory
2014-09-02 11:12:43 +02:00
mposolda cd91a29a89 Fix SyncProvidersTest with ActiveDirectory 2014-09-02 11:06:31 +02:00
Stian Thorgersen b1b452815a Merge pull request #661 from stianst/master
KEYCLOAK-656 Remove login-status-iframe from dist
2014-09-02 10:54:52 +02:00
Stian Thorgersen 59d66dd20e KEYCLOAK-656 Remove login-status-iframe from dist 2014-09-02 10:54:26 +02:00
Stian Thorgersen 0763d0d9d6 Merge pull request #660 from stianst/master
KEYCLOAK-658 Fix searching for users
2014-09-02 10:02:08 +02:00
Stian Thorgersen 8c8c44e50f KEYCLOAK-658 Fix searching for users 2014-09-02 10:01:44 +02:00
Marek Posolda 14b1941454 Merge pull request #659 from mposolda/master
Added more props to LDAPEmbeddedServer to allow automated test with Acti...
2014-09-01 20:54:49 +02:00
mposolda e52811ac28 Added more props to LDAPEmbeddedServer to allow automated test with ActiveDirectory 2014-09-01 20:43:14 +02:00
Stian Thorgersen 4f3a980f8b Merge pull request #658 from stianst/master
Version bump
2014-09-01 10:17:31 +02:00
Stian Thorgersen 05a1fc1ded Version bump 2014-09-01 10:17:00 +02:00
Stian Thorgersen ff74d1ddc0 Merge pull request #657 from stianst/master
Various fixes
2014-08-29 17:11:53 +02:00
Stian Thorgersen 31b0f5543f Fixes 2014-08-29 17:11:18 +02:00
Stian Thorgersen 39c0be5d99 KEYCLOAK-652
Social user can't set password
2014-08-29 16:51:10 +02:00
Stian Thorgersen fb18789b05 KEYCLOAK-650
Server error while trying to download keycloak.json for oauth client
2014-08-29 16:08:42 +02:00
Stian Thorgersen bcbf5da4b8 KEYCLOAK-651
Page not found trying to save changes to brute force
2014-08-29 16:04:37 +02:00
Stian Thorgersen e1b9dfe65d KEYCLOAK-649 Invalidate realm if app name or client clientId is changed 2014-08-29 15:49:17 +02:00
Stian Thorgersen 52f86f2293 Merge pull request #656 from stianst/master
Fixes to event-store-mem example
2014-08-29 14:56:09 +02:00
Stian Thorgersen e413694cf5 Fixes to event-store-mem example 2014-08-29 14:55:45 +02:00
Stian Thorgersen 20ce36dc64 Merge pull request #655 from stianst/master
Clean user credential management form
2014-08-29 11:06:11 +02:00
Stian Thorgersen a3c982a630 Clean user credential management form 2014-08-29 11:05:37 +02:00
Stian Thorgersen e0542b5260 Merge pull request #654 from stianst/master
KEYCLOAK-648 Fix removing role from composite role
2014-08-29 10:27:29 +02:00
Stian Thorgersen 7c7025a83d KEYCLOAK-648 Fix removing role from composite role 2014-08-29 10:18:00 +02:00
Stian Thorgersen 3e6a1f47ec Merge pull request #653 from stianst/master
Fix test
2014-08-29 09:10:41 +02:00
Stian Thorgersen 32703d19a0 Fix test 2014-08-29 08:59:57 +02:00
Stian Thorgersen cdc6588ac1 Merge branch 'ungarida-master' 2014-08-28 14:30:29 +02:00
Stian Thorgersen 57aea9b51c Merge branch 'master' of https://github.com/ungarida/keycloak into ungarida-master
Conflicts:
	integration/tomcat7/adapter/src/main/java/org/keycloak/adapters/tomcat7/AuthenticatedActionsValve.java
2014-08-28 14:29:07 +02:00
Stian Thorgersen a2171bf777 Merge pull request #652 from stianst/master
Password token
2014-08-28 14:22:51 +02:00
Stian Thorgersen b9d0f64f74 Added password token to use inplace of plain-text password for totp 2014-08-28 13:51:55 +02:00
Stian Thorgersen 55d614fce8 Reduce log in UserFederationResource 2014-08-28 11:26:55 +02:00
Stian Thorgersen 46d118207a Merge pull request #651 from stianst/master
Rename audit to events
2014-08-28 11:07:02 +02:00
Stian Thorgersen 3bfe3d256e Rename audit to events 2014-08-28 10:56:37 +02:00
Marek Posolda b50ab14a0a Merge pull request #650 from mposolda/master
More Federation & LDAP fixes
2014-08-27 12:41:38 +02:00
mposolda 08c58cf2f2 Upgrade picketlink to 2.7.0.Beta1 2014-08-27 12:22:15 +02:00
mposolda d26543360b KEYCLOAK-646 Fix LDAP authentication when there are commas in the value of bindingProperty 2014-08-27 12:19:23 +02:00
mposolda fb18004c1d KEYCLOAK-643 Handle flows with adding user with existing username or email in federation providers 2014-08-27 12:19:23 +02:00
Stian Thorgersen 49fb452a79 Merge pull request #649 from stianst/master
KEYCLOAK-531 Reduce info level logging
2014-08-27 11:17:56 +02:00
Stian Thorgersen 55bd889a0f KEYCLOAK-531 Reduce info level logging 2014-08-27 11:17:24 +02:00
Stian Thorgersen 269a0dbec1 Merge pull request #643 from ssilvert/KEYCLOAK-642-subsys-wfcontroller
KEYCLOAK-642 Latest WildFly breaks Keycloak Subsystem
2014-08-27 08:19:20 +02:00
Marek Posolda cf51db88e7 Merge pull request #648 from mposolda/master
Federation & LDAP related fixes
2014-08-26 20:43:23 +02:00
mposolda fc0889cd2e KEYCLOAK-644 Searching by email from LDAP doesn't work 2014-08-26 20:24:25 +02:00
mposolda b3b480c25f Display proper error message if LDAP-linked user couldn't be deleted due to read-only mode 2014-08-26 19:10:48 +02:00
mposolda 892fa04130 KEYCLOAK-645 Disable username field when editing user in admin console 2014-08-26 18:04:26 +02:00
Marek Posolda 8d3e51c236 Merge pull request #647 from mposolda/master
Handle exceptions and UI errors when user is read only. Minor sync issue
2014-08-26 13:02:11 +02:00
mposolda fd9d2ba4d5 Handle exceptions and UI errors when user is read only. Some sync issues 2014-08-26 12:54:05 +02:00
Marek Posolda 75bc633a33 Merge pull request #645 from mposolda/master
Fix pagination of searching users
2014-08-25 21:14:56 +02:00
mposolda 3fdb22cb05 Fix pagination of searching users 2014-08-25 21:13:50 +02:00
Marek Posolda f51ba1cb8a Merge pull request #644 from mposolda/master
Docs about sync. Tooltips and minor fixes
2014-08-25 17:19:02 +02:00
mposolda 688f4a07a3 Added docs about sync of users 2014-08-25 17:17:32 +02:00
mposolda 6c7d0f27a7 More tooltips for LDAP and generic federation. Minor fixes 2014-08-25 16:28:52 +02:00
Stan Silvert 1e5ca3062c KEYCLOAK-642 Latest WildFly breaks Keycloak Subsystem 2014-08-22 13:49:57 -04:00
Bill Burke ca97e7ba35 Merge pull request #642 from patriot1burke/master
import console from export
2014-08-21 17:25:16 -04:00
Bill Burke e99afec7ec import console from export 2014-08-21 17:17:09 -04:00
Bill Burke a23853a6bc Merge pull request #641 from patriot1burke/master
bump pom
2014-08-21 10:47:22 -04:00
Bill Burke 7c8edb5d11 bump pom 2014-08-21 10:46:49 -04:00
Bill Burke 83ad045410 Merge pull request #640 from patriot1burke/master
last fixes for rc1
2014-08-20 14:51:14 -04:00
Bill Burke e5d5276135 race 2014-08-20 14:50:28 -04:00
Bill Burke 6f38a02aaa SSL mode docs 2014-08-20 14:37:15 -04:00
Bill Burke 5dd84f1d9a fix AccountService referrer problems 2014-08-20 14:20:59 -04:00
Bill Burke 30147ce25a import doc 2014-08-20 13:32:14 -04:00
Bill Burke dd011f043d fix cors demo 2014-08-20 13:29:09 -04:00
Bill Burke 7dec0319b6 doc ix 2014-08-20 13:26:57 -04:00
Bill Burke 06c14df0f3 Merge pull request #639 from patriot1burke/master
enhancements
2014-08-20 11:56:29 -04:00
Bill Burke 041d0be990 add notification messages 2014-08-20 11:55:59 -04:00
Bill Burke f6a76e673c add federation breadcrums 2014-08-20 11:40:48 -04:00
Bill Burke 47f361a4ab nocache for fed provider list 2014-08-20 11:29:45 -04:00
Bill Burke 6e7924da76 demo fixes 2014-08-20 11:08:40 -04:00
Bill Burke df1a0c03b6 Merge pull request #638 from patriot1burke/master
readme
2014-08-20 08:51:03 -04:00
Bill Burke 971bea8a24 readme again 2014-08-20 08:50:24 -04:00
Bill Burke c8f0a1ab5a readme 2014-08-20 08:49:42 -04:00
Bill Burke 0ae9ac0848 Merge pull request #637 from patriot1burke/master
doc touchup
2014-08-19 15:10:52 -04:00
Bill Burke 3dd52e8b28 doc touchup 2014-08-19 15:10:32 -04:00
Bill Burke 0f6915c615 Merge pull request #636 from patriot1burke/master
fix mongo
2014-08-19 14:49:35 -04:00
Bill Burke 74cd23b331 fix mongo 2014-08-19 14:49:15 -04:00
Bill Burke cc17895ef3 Merge pull request #635 from patriot1burke/master
more minor screen changes
2014-08-19 12:13:24 -04:00
Bill Burke 09ada81b27 more minor screen changes 2014-08-19 12:12:58 -04:00
Bill Burke 75e0fa87c3 Merge pull request #632 from ssilvert/master
Add web-console and http-endpoint default configurations for WildFly
2014-08-18 18:56:02 -04:00
Bill Burke 6628e226e4 Merge pull request #631 from ssilvert/Use-KeycloakDS
By default, the datasource should be KeycloakDS instead of ExampleDS.
2014-08-18 18:55:53 -04:00
Bill Burke 89d47a392b Merge pull request #634 from patriot1burke/master
buncho fixes
2014-08-18 18:55:18 -04:00
Bill Burke c38abb2cfe ? 2014-08-18 18:52:51 -04:00
Bill Burke faf18dfdfd fix cookie parsing problem 2014-08-18 18:36:36 -04:00
Bill Burke 2dc32fb8c9 fix menu error 2014-08-18 18:06:23 -04:00
Bill Burke 2ec029e8e0 Merge pull request #633 from patriot1burke/master
social fixes
2014-08-18 11:56:14 -04:00
Bill Burke 80904209b3 KEYCLOAK-627 2014-08-18 11:55:27 -04:00
Bill Burke 8b1483d7ef docs 2014-08-18 10:48:28 -04:00
Bill Burke bbeff1ef22 Merge remote-tracking branch 'upstream/master' 2014-08-18 10:40:55 -04:00
Stan Silvert aac3c2e0ee Don't block server artifact from being pushed to the repo. 2014-08-15 14:51:38 -04:00
Stan Silvert a240a00983 Add web-console and http-endpoint default configurations for WildFly
build.
2014-08-15 13:43:18 -04:00
Bill Burke c86a6ba3f3 fix admin reset email 2014-08-15 11:46:38 -04:00
Stan Silvert bc301baa1f By default, the datasource should be KeycloakDS instead of ExampleDS. 2014-08-15 08:55:04 -04:00
Bill Burke edbf26f007 Merge pull request #630 from patriot1burke/master
expanded token service coverage
2014-08-14 21:01:26 -04:00
Bill Burke 5dca2a3588 expanded token service coverage 2014-08-14 21:01:05 -04:00
Bill Burke cf5a7d228b Merge pull request #629 from patriot1burke/master
add some breadcrumbs, add app role
2014-08-14 18:47:15 -04:00
Bill Burke f7a7c3ca7b add some breadcrumbs, add app role 2014-08-14 18:46:53 -04:00
Bill Burke 28fcdf0b8f Merge pull request #628 from patriot1burke/master
relative uri problem
2014-08-14 12:00:03 -04:00
Bill Burke c38ec33881 tooltip fixes 2014-08-14 11:59:03 -04:00
Bill Burke cfee00d4c5 fix relative uri problem 2014-08-14 11:01:04 -04:00
Bill Burke 46bf0d78fa Merge pull request #627 from patriot1burke/master
more tooltips
2014-08-13 15:11:28 -04:00
Bill Burke a14be592de more tooltips 2014-08-13 15:11:05 -04:00
Bill Burke 29691a3167 Merge pull request #626 from patriot1burke/master
more tooltips, change password
2014-08-13 12:17:48 -04:00
Bill Burke 517a2b99d7 more tooltips 2014-08-13 12:17:20 -04:00
Bill Burke edf73af508 change password 2014-08-13 10:35:49 -04:00
Bill Burke 4a5ea08a2a Merge pull request #625 from patriot1burke/master
tooltips
2014-08-13 09:42:09 -04:00
Bill Burke 7b86cca649 better tooltip user 2014-08-13 09:40:43 -04:00
Bill Burke c77b7cd7d6 fix required user tooltip 2014-08-13 09:38:56 -04:00
Bill Burke 6b0a87c57a Merge pull request #624 from patriot1burke/master
add js adapter to dist
2014-08-12 18:25:03 -04:00
Bill Burke b1c331c5f3 add js adapter to dist 2014-08-12 18:24:40 -04:00
Bill Burke 7ae342452e Merge pull request #623 from patriot1burke/master
tooltips
2014-08-12 16:31:25 -04:00
Bill Burke 4438aa6606 tooltips 2014-08-12 16:22:26 -04:00
Marek Posolda 8cd8472003 Merge pull request #622 from mposolda/master
Sync admin UI and fixes.
2014-08-12 19:13:50 +02:00
mposolda 687aa78567 Fix issue in sync admin UI 2014-08-12 19:12:05 +02:00
mposolda 8419e5883d Ensure that transaction.isActive() is false after commit or rollback 2014-08-12 18:58:37 +02:00
mposolda 4bac0474c6 Sync UI for generic providers 2014-08-12 18:12:28 +02:00
mposolda f0b66a2241 Admin console UI for sync of users from LDAP. Sync fixes 2014-08-12 18:12:27 +02:00
Bill Burke 51b71e8f20 Merge pull request #621 from patriot1burke/master
refactor UI screens, remove breadcrumbs
2014-08-12 11:09:50 -04:00
Bill Burke 8615515b9a refactor UI screens, remove breadcrumbs 2014-08-12 11:07:39 -04:00
Bill Burke 10cf486d26 Merge pull request #620 from ssilvert/KEYCLOAK-331-ear
KEYCLOAK-331 Fixed NPE when user specifies EAR name instead of WAR in subsystem.
2014-08-12 10:29:46 -04:00
Bill Burke abb1647672 Merge pull request #619 from patriot1burke/master
fix logout
2014-08-12 10:06:44 -04:00
Bill Burke 114c1b95fa fix logout 2014-08-12 10:06:19 -04:00
Stan Silvert 4e88bbc811 KEYCLOAK-331 Fixed NPE when user specifies EAR name instead of WAR in standalone.xml. Also, fixed EAR deployment in general and added EAR example. 2014-08-12 10:03:20 -04:00
Stan Silvert 504a41aec4 KEYCLOAK-331 Fixed NPE when user specifies EAR name instead of WAR in
standalone.xml.  Also, fixed EAR deployment in general and added EAR
example.
2014-08-12 09:58:54 -04:00
Stian Thorgersen e9bf1ef618 Merge pull request #618 from stianst/master
Fix test
2014-08-12 12:14:32 +01:00
Stian Thorgersen 9d6e450c05 Fix test 2014-08-12 12:13:59 +01:00
Stian Thorgersen fb7e95f1e4 Merge pull request #617 from stianst/master
KEYCLOAK-592 Display login form with error message if trying to login wi...
2014-08-12 12:06:39 +01:00
Stian Thorgersen f95418dfc9 KEYCLOAK-592 Display login form with error message if trying to login with social provider where email already exists 2014-08-12 12:06:13 +01:00
Bill Burke 94be235a0f Merge pull request #616 from patriot1burke/master
menu
2014-08-11 17:48:52 -04:00
Bill Burke 100de5a55e menu 2014-08-11 17:47:55 -04:00
Bill Burke 26570de4cd Merge pull request #615 from patriot1burke/master
X-Frame-Options, Content-Security-Policy
2014-08-11 17:45:26 -04:00
Bill Burke 7c97e02715 X-Frame-Options, Content-Security-Policy 2014-08-11 17:45:01 -04:00
Bill Burke e73bdf9d8c Merge pull request #614 from patriot1burke/master
add jpa realm attributes
2014-08-11 12:33:36 -04:00
Bill Burke 8d1ff1d49c add jpa realm attributes 2014-08-11 12:33:17 -04:00
Stian Thorgersen de770d2881 Merge pull request #613 from stianst/master
Added tooltip to realm enabled button
2014-08-11 16:14:14 +01:00
Stian Thorgersen 7f96770089 Added tooltip to realm enabled button 2014-08-11 16:13:38 +01:00
Stian Thorgersen 3f83538fc1 Merge pull request #612 from stianst/master
KEYCLOAK-616 Not require registration to add a new social user
2014-08-11 15:35:54 +01:00
Stian Thorgersen 3040f4e89f KEYCLOAK-616 Not require registration to add a new social user 2014-08-11 15:34:57 +01:00
Marek Posolda c57c264d91 Merge pull request #611 from mposolda/master
Fix transaction handling in KeycloakModelUtils.runJobInTransaction. Star...
2014-08-11 13:53:04 +02:00
mposolda 8ba7559cac Fix transaction handling in KeycloakModelUtils.runJobInTransaction. Start sync tasks for configured federation providers at startup 2014-08-11 13:51:44 +02:00
Marek Posolda c4d5a4138c Merge pull request #610 from mposolda/master
Support for users sync
2014-08-10 23:40:23 +02:00
mposolda d699404ce7 Support for periodic users sync 2014-08-10 23:23:50 +02:00
mposolda ee79747cb6 Sync - first iteration 2014-08-10 23:22:35 +02:00
mposolda 5cb6c4e77c Improve TimerSPI to support cancelling of previously scheduled tasks 2014-08-10 23:17:39 +02:00
Bill Burke 05638a8953 Merge pull request #609 from patriot1burke/master
fixes
2014-08-10 12:29:07 -04:00
Bill Burke 48f7efc97f @NoCache where appropriate 2014-08-10 12:28:43 -04:00
Bill Burke 9aa6b4cbfa optimize imports 2014-08-10 12:17:45 -04:00
Bill Burke cae0a7628d use SecureRandom for totp 2014-08-10 12:12:24 -04:00
Bill Burke 82e29dfcb3 Merge pull request #608 from patriot1burke/master
jiras
2014-08-10 11:50:42 -04:00
Bill Burke ad94b94833 enlarge URL html input 2014-08-10 11:49:58 -04:00
Bill Burke 687e497455 test searchForUserByAttributes 2014-08-10 11:36:02 -04:00
Bill Burke 67f31648a6 Merge pull request #572 from vibe13/duplicated-version
Remove warning from Maven log4j:log4j:jar -> duplicate declaration
2014-08-10 11:04:51 -04:00
Bill Burke d332851a75 Merge pull request #606 from alarikmyrin/KEYCLOAK-621
KEYCLOAK-621 fix searchForUserByAttributes method
2014-08-10 11:02:08 -04:00
Bill Burke 4a18a32cfc Merge pull request #607 from patriot1burke/master
change logout behavior
2014-08-10 09:09:32 -04:00
Alarik Myrin 428cd54a81 KEYCLOAK-621 fix searchForUserByAttributes method so that it works and is not subject to SQL injection 2014-08-09 13:59:20 -04:00
Bill Burke dc4e8603d7 change logout behavior 2014-08-08 18:33:37 -04:00
Marek Posolda b96f8aef6d Merge pull request #605 from mposolda/master
LDAP testing and improvements
2014-08-08 12:24:39 +02:00
mposolda dc50c312cb Configurable if pagination and connectionPooling are supported in LDAP 2014-08-08 12:09:08 +02:00
mposolda 1f12a2d67b Adding LDAPUtils. Bit refactoring LDAP test for easier testing with various servers 2014-08-08 10:40:34 +02:00
Marek Posolda a2bef7dbbe Merge pull request #604 from mposolda/master
Fix testsuite hangs on MySQL and PostgreSQL due to uncommited transactio...
2014-08-07 20:40:12 +02:00
mposolda c6af13c8cc Fix testsuite hangs on MySQL and PostgreSQL due to uncommited transactions 2014-08-07 20:38:20 +02:00
Marek Posolda 5be5f6475f Merge pull request #603 from mposolda/master
Fix adding social link in mongo. Fixed export/import of federationProvid...
2014-08-07 17:39:56 +02:00
mposolda 5673fb34b1 Fix adding social link in mongo. Fixed export/import of federationProviders. Enhanced ExportImportTest 2014-08-07 17:33:48 +02:00
Marek Posolda 5214fe2a55 Merge pull request #602 from mposolda/master
Users not registered with FederationProvider during import, Update docs for database setup
2014-08-07 13:05:23 +02:00
mposolda 76db33829b KEYCLOAK-600 Users shouldn't be registered with Federation Provider on an import 2014-08-07 12:38:56 +02:00
mposolda 746da8f270 Possibility to specify hibernate dialect even if datasource is used 2014-08-07 12:27:12 +02:00
mposolda f8667cdb38 Update documentations for JPA and Mongo 2014-08-07 12:23:46 +02:00
Marek Posolda 1ec4fe921d Merge pull request #601 from mposolda/master
KEYCLOAK-618 Remove org.bouncycastle from jboss-modules-structure.xml as...
2014-08-07 10:34:48 +02:00
mposolda 915701106c KEYCLOAK-618 Remove org.bouncycastle from jboss-modules-structure.xml as it's in auth-server.war 2014-08-07 10:32:26 +02:00
Bill Burke 2309e6f040 Merge pull request #600 from patriot1burke/master
delete fed provider
2014-08-06 20:49:25 -04:00
Bill Burke 839d823edd change delete msg 2014-08-06 20:48:48 -04:00
Bill Burke 99e6f0edad delete fed provider 2014-08-06 20:38:30 -04:00
Bill Burke bb138bd6e4 Merge pull request #599 from patriot1burke/master
KEYCLOAK-547
2014-08-06 19:16:19 -04:00
Bill Burke 32a19563a5 KEYCLOAK-547 2014-08-06 19:15:52 -04:00
Bill Burke 3b65127399 Merge pull request #598 from patriot1burke/master
cookie cache off
2014-08-06 18:04:36 -04:00
Bill Burke c17a5823e9 cookie cache off 2014-08-06 18:01:16 -04:00
Bill Burke c9e88c944a Merge pull request #597 from patriot1burke/master
pom description
2014-08-06 17:50:25 -04:00
Bill Burke b93cf4868c pom description 2014-08-06 17:50:01 -04:00
Bill Burke 53ac88ca26 Merge pull request #596 from patriot1burke/master
version
2014-08-06 15:45:15 -04:00
Bill Burke aff32f69bb version 2014-08-06 15:44:50 -04:00
Bill Burke 4fcf11d0db Merge pull request #595 from patriot1burke/master
bump version
2014-08-06 09:00:47 -04:00
Bill Burke e04af84ac0 bump version 2014-08-06 09:00:23 -04:00
Bill Burke 965c44a43d Merge pull request #594 from patriot1burke/master
beta-4 fixes
2014-08-05 20:58:28 -04:00
Bill Burke 905061e2b7 bump version 2014-08-05 20:52:50 -04:00
Bill Burke 45df3087f2 fix aerogear 2014-08-05 20:45:31 -04:00
Bill Burke f9f53a3355 docbook change 2014-08-05 20:31:20 -04:00
Bill Burke ab08ac8ad4 Merge remote-tracking branch 'upstream/master' 2014-08-05 20:29:02 -04:00
Bill Burke 12c9475bfc general settings split up 2014-08-05 20:26:29 -04:00
Bill Burke a0d7fc12db all claims for app 2014-08-05 19:46:55 -04:00
Bill Burke 5b5fea347a improved oauth login/grant 2014-08-05 19:36:19 -04:00
Bill Burke d049007412 delete app/realm/client buttons 2014-08-05 17:34:23 -04:00
Bill Burke cc14a3b288 rename token settings menu to timeout settings 2014-08-05 17:28:20 -04:00
Bill Burke bcd3eeda49 product-portal example logout fix 2014-08-05 17:20:01 -04:00
Bill Burke 992b365eab choose realm 2014-08-05 17:18:11 -04:00
Bill Burke 3882cc4aa8 fix console session logoutAll 2014-08-05 17:16:46 -04:00
Bill Burke 38bd79ab88 filter out unconfigured example files 2014-08-05 16:53:10 -04:00
Bill Burke 790fd1d94d fix cors example 2014-08-05 16:45:21 -04:00
Bill Burke 19e1ddff1d logging 2014-08-05 16:04:13 -04:00
Marek Posolda 0bbc26bd0b Merge pull request #593 from mposolda/db-fix
Updating documentation for export/import
2014-08-05 20:30:05 +02:00
mposolda 1f3db436d8 Updating documentation for export/import 2014-08-05 20:28:53 +02:00
Marek Posolda 7ac663bd5f Merge pull request #592 from mposolda/db-fix
Fixing mssql
2014-08-05 18:30:55 +02:00
mposolda 53fbceb49a Fixing mssql 2014-08-05 18:25:54 +02:00
Marek Posolda 1159dc091d Merge pull request #591 from mposolda/db-fix
Fixing oracle
2014-08-05 15:55:53 +02:00
mposolda 38c0b4ad65 Fixing oracle 2014-08-05 15:45:28 +02:00
Marek Posolda f4f563d570 Merge pull request #590 from mposolda/master
Fix typo in UserFederationProvider
2014-08-05 15:07:42 +02:00
mposolda 550ba16a09 Fix deleting users on mongo 2014-08-05 14:36:53 +02:00
mposolda 0289f5dff9 Fix typo in UserFederationProvider 2014-08-05 13:31:35 +02:00
Bill Burke ea0ceeb65d Merge pull request #589 from patriot1burke/master
app full scope
2014-08-04 16:26:51 -04:00
Bill Burke 3746bf28a1 migration doc 2014-08-04 16:26:13 -04:00
Bill Burke a497c69758 relative logout 2014-08-04 16:17:35 -04:00
Bill Burke 731d75c756 app full scope by default 2014-08-04 16:04:10 -04:00
Marek Posolda 982ba5ab90 Merge pull request #588 from mposolda/master
Adding property to configure if userAccountControls should be updated in...
2014-08-04 21:35:02 +02:00
mposolda c2e2a46025 Adding property to configure if userAccountControls should be updated in Active Directory after user set his password 2014-08-04 21:32:56 +02:00
Bill Burke 8430fb0ed3 Merge pull request #587 from patriot1burke/master
docs
2014-08-04 12:28:32 -04:00
Bill Burke 9a829a38b1 edti migration docs 2014-08-04 12:28:07 -04:00
Bill Burke 04ec750157 federation docs 2014-08-04 12:25:11 -04:00
Marek Posolda 3655db2a30 Merge pull request #586 from mposolda/master
Ensure that displayName is persisted. Add 'user' to ActiveDirectory clas...
2014-08-04 16:43:41 +02:00
mposolda 5edb84ccfb Ensure that displayName is persisted. Add 'user' to ActiveDirectory classes 2014-08-04 16:42:48 +02:00
Marek Posolda 95e2da9c9e Merge pull request #585 from mposolda/master
Upgrade to latest picketlink. Fix LDAP configuration according to that
2014-08-04 14:58:29 +02:00
mposolda 6cb1eb41cf Update mongo entities 2014-08-04 14:51:08 +02:00
mposolda 46a0caf2e0 Upgrade to latest picketlink. Fix LDAP configuration according to that 2014-08-04 13:58:52 +02:00
Bill Burke d96b660686 Merge pull request #584 from patriot1burke/master
fix fed example
2014-08-03 11:04:21 -04:00
Bill Burke ae66b1b88e fix view all users 2014-08-03 11:03:39 -04:00
Bill Burke 60a564dcfd fix fed example 2014-08-03 10:53:37 -04:00
Bill Burke 69656d2775 Merge pull request #583 from patriot1burke/master
delete auth prov example
2014-08-02 22:19:59 -04:00
Bill Burke 24415f2186 delete auth prov example 2014-08-02 22:19:19 -04:00
Bill Burke 0ae3eafe10 Merge pull request #582 from patriot1burke/master
fed example
2014-08-02 22:18:47 -04:00
Bill Burke 6cf708f6e1 fed exampe 2014-08-02 22:18:17 -04:00
Bill Burke f5a626006c Merge pull request #581 from patriot1burke/master
remove AuthenticationProvider/Link
2014-08-01 18:06:18 -04:00
Bill Burke 101a72cd65 remove AuthenticationProvider/Link 2014-08-01 18:03:48 -04:00
Bill Burke 312429cb88 Merge pull request #580 from patriot1burke/master
add HttpServletRequest.authenticate() test
2014-08-01 15:50:40 -04:00
Bill Burke c9851f1c05 add HttpServletRequest.authenticate() test 2014-08-01 15:50:20 -04:00
Bill Burke 73b7fe6169 Merge pull request #579 from patriot1burke/master
remote token validation
2014-08-01 13:34:11 -04:00
Bill Burke d1c5c55a61 switch to a get 2014-08-01 13:28:17 -04:00
Bill Burke bdc31d9459 Merge remote-tracking branch 'upstream/master' 2014-08-01 13:18:46 -04:00
Bill Burke f08c42a37e token validation 2014-08-01 13:18:32 -04:00
Stian Thorgersen 8fbd39934f Merge pull request #578 from stianst/master
Allow private addresses to use http with ssl-required=external
2014-08-01 15:06:15 +01:00
Stian Thorgersen c460630cf8 Allow private addresses to use http with ssl-required=external 2014-08-01 15:05:45 +01:00
Stian Thorgersen 335bc87ad8 Merge pull request #577 from stianst/master
KEYCLOAK-591 Require SSL for all external requests by default
2014-08-01 13:53:04 +01:00
Stian Thorgersen 6cbeeb1b1a KEYCLOAK-591 Require SSL for all external requests by default 2014-08-01 13:52:04 +01:00
Bill Burke 47c9f1439d Merge pull request #576 from patriot1burke/master
maxResults
2014-07-31 17:41:58 -04:00
Bill Burke 64589bc807 maxResults 2014-07-31 17:41:38 -04:00
Bill Burke 2eae9c17a4 Merge pull request #575 from patriot1burke/master
ldap edit mode
2014-07-31 17:31:46 -04:00
Bill Burke 9f6c206078 ldap edit mode 2014-07-31 17:28:48 -04:00
Bill Burke 2460eecd75 Merge pull request #574 from patriot1burke/master
federation registeration
2014-07-31 16:02:52 -04:00
Bill Burke a084695978 support registration ldap 2014-07-31 15:22:20 -04:00
Bill Burke 705da88daa fix cache setup 2014-07-31 14:05:23 -04:00
Bill Burke ce85a42ecf Merge pull request #573 from patriot1burke/master
fed ui
2014-07-31 13:14:45 -04:00
Bill Burke 2990b75faa Merge remote-tracking branch 'upstream/master' 2014-07-31 13:14:05 -04:00
Bill Burke 94c06f3f5d fed ui 2014-07-31 13:13:48 -04:00
Bill Burke b72a7db6fe federation display name 2014-07-31 10:51:04 -04:00
Andrea Vibelli 9e4086e501 Remove warning from Maven log4j:log4j:jar -> duplicate declaration 2014-07-31 11:06:24 +02:00
Bill Burke b960f18f4e Merge pull request #571 from patriot1burke/master
federation ui
2014-07-30 22:53:10 -04:00
Bill Burke d0dc75c06f federation ui 2014-07-30 22:52:39 -04:00
Bill Burke 13a5eccaf8 Merge pull request #570 from patriot1burke/master
federation refactor
2014-07-30 16:06:57 -04:00
Bill Burke 898195e1da Merge remote-tracking branch 'upstream/master' 2014-07-30 16:02:09 -04:00
Bill Burke 8ea0d19d2f federation refactor 2014-07-30 16:01:54 -04:00
Stian Thorgersen 465318b352 Merge pull request #569 from stianst/master
KEYCLOAK-545 Stop NPE if no client_secret is specified or bearer-only ap...
2014-07-30 16:42:26 +01:00
Stian Thorgersen fa01d53f9e KEYCLOAK-545 Stop NPE if no client_secret is specified or bearer-only application is used for grants/access 2014-07-30 16:41:07 +01:00
Stian Thorgersen ba8fe1ddaf Merge pull request #568 from stianst/master
KEYCLOAK-562 Cache theme instances
2014-07-30 16:10:41 +01:00
Stian Thorgersen 50bc53d673 KEYCLOAK-562 Cache theme instances 2014-07-30 16:06:08 +01:00
Stian Thorgersen d682701232 Merge pull request #567 from stianst/master
Added login_hint to keycloak.js
2014-07-30 14:27:40 +01:00
Stian Thorgersen 544883ca9f Added login_hint to keycloak.js 2014-07-30 14:27:14 +01:00
Stian Thorgersen 54a7761e15 Merge pull request #566 from stianst/master
Updated admin endpoints and console to use oauth client name/clientId
2014-07-30 14:18:45 +01:00
Stian Thorgersen ed51b4e1ea Deleted old hybrid model 2014-07-30 14:13:16 +01:00
Stian Thorgersen fcc4781e3a Updated admin endpoints and console to use oauth client name/clientId to retrieve a oauth client 2014-07-30 14:10:25 +01:00
Stian Thorgersen 24b5bd6862 Merge pull request #565 from stianst/master
KEYCLOAK-581 Add login_hint query param to login
2014-07-30 13:48:17 +01:00
Stian Thorgersen 614c718304 KEYCLOAK-581 Add login_hint query param to login 2014-07-30 13:43:46 +01:00
Stian Thorgersen e2ce33a86a Merge pull request #564 from stianst/master
Admin REST client
2014-07-30 13:26:04 +01:00
Rodrigo Sasaki e338f1af15 Admin REST client 2014-07-30 13:24:44 +01:00
Stian Thorgersen eefc5ed1d7 Merge pull request #563 from lfryc/KEYCLOAK-588
KEYCLOAK-588 retrieve window.location.origin in InternetExplorer-compatible way
2014-07-30 12:15:16 +01:00
Lukas Fryc 7694b130e6 KEYCLOAK-588 retrieve window.location.origin in InternetExplorer-compatible way 2014-07-30 12:47:52 +02:00
Stian Thorgersen 32ad7271f3 Merge pull request #562 from stianst/access-code
Fix test
2014-07-30 09:47:35 +01:00
Stian Thorgersen 2b012ff238 Fix test 2014-07-30 09:47:16 +01:00
Stian Thorgersen 1bd219ed40 Merge pull request #561 from stianst/access-code
Added ClientSessionModel to UserSessionProvider
2014-07-29 16:18:28 +01:00
Stian Thorgersen 02a59812e6 Added ClientSessionModel to UserSessionProvider 2014-07-29 16:10:41 +01:00
Stian Thorgersen 7f4849e165 Merge pull request #560 from stianst/demo-non-localhost
KEYCLOAK-579 Use relative urls in examples
2014-07-28 10:48:30 +01:00
Stian Thorgersen 628c7dd92a KEYCLOAK-579 Use relative urls in examples 2014-07-28 10:41:21 +01:00
Davide Ungari 5764ad84e9 Fix equals huge error, too much Javascript lately 2014-07-27 10:02:41 +02:00
Davide Ungari f3fde4a8df Upgrade to tomcat.7.0.54 2014-07-27 10:01:02 +02:00
Davide Ungari 983ccdd121 Merge remote-tracking branch 'upstream/master' 2014-07-26 11:27:08 +02:00
Davide Ungari 73ed22c52c logout 2014-07-26 11:25:27 +02:00
Bill Burke bace16bac6 Merge pull request #559 from patriot1burke/master
federation iteration 2
2014-07-25 21:06:04 -04:00
Bill Burke 3bb0842eae federation iteration 2 2014-07-25 21:05:45 -04:00
Bill Burke a6b38397ea Merge pull request #558 from patriot1burke/master
rename classes
2014-07-25 10:45:22 -04:00
Bill Burke c63467c79f Merge remote-tracking branch 'upstream/master' 2014-07-25 10:41:06 -04:00
Bill Burke b1cd37814a rename 2014-07-25 10:40:46 -04:00
Stian Thorgersen 07d10ee583 Merge pull request #557 from stianst/access-code
KEYCLOAK-570 Add use-resource-role-mappings to WildFly installation
2014-07-25 11:54:10 +01:00
Stian Thorgersen 614bee3061 KEYCLOAK-570 Add use-resource-role-mappings to WildFly installation 2014-07-25 11:53:10 +01:00
Bill Burke 81dfea4052 Merge pull request #556 from patriot1burke/master
rename FederationProvider to UserFederationProvider
2014-07-24 11:11:45 -04:00
Bill Burke 1b14444eba rename FederationProvider to UserFederationProvider 2014-07-24 11:11:21 -04:00
Stian Thorgersen 245d83adce Merge pull request #555 from stianst/master
Added test to make sure password is verified with totp login
2014-07-24 14:15:34 +01:00
Stian Thorgersen b5835fc232 Added test to make sure password is verified with totp login 2014-07-24 14:15:02 +01:00
Stian Thorgersen 8a54f133ba Merge pull request #554 from stianst/master
Moved audit/tests and model/tests to testsuite
2014-07-24 13:50:15 +01:00
Stian Thorgersen 511cc483cb Moved audit/tests and model/tests to testsuite 2014-07-24 13:49:15 +01:00
Bill Burke 6e18a16f78 Merge pull request #553 from patriot1burke/master
Federation iteration 1
2014-07-23 17:08:00 -04:00
Bill Burke 43d08f2d05 federation iteration 1 complete 2014-07-23 17:05:49 -04:00
Bill Burke 171e9b1ce9 Merge remote-tracking branch 'upstream/master' 2014-07-23 15:10:48 -04:00
Bill Burke eec582e704 merge 2014-07-23 15:10:36 -04:00
Stian Thorgersen 4b05feb6d6 Merge pull request #552 from stianst/access-code
Updates to AccessCode
2014-07-23 16:01:38 +01:00
Stian Thorgersen d6f5bf6cde Moved rememberMe, usernameUsed fields from AccessCode to UserSessions. Change AccessCode to have a single action instead of a list of required actions, also used action for codes that needs user to grant permissions first. Finally removed expiration time on access code and use timestamp directly 2014-07-23 15:58:09 +01:00
Bill Burke f1d72d0b6d fed 2 2014-07-23 10:42:18 -04:00
Bill Burke 148d494905 federation iteration 2014-07-23 10:21:25 -04:00
Stian Thorgersen 38b575d91b Merge pull request #550 from mposolda/master
README update
2014-07-23 13:31:41 +01:00
mposolda baf99a2280 README update 2014-07-23 14:01:24 +02:00
Stian Thorgersen 1d80b87bcc Merge pull request #549 from stianst/master
Fix parent relative-path in server-all and server-min
2014-07-22 16:55:51 +01:00
Stian Thorgersen 84754c47d3 Fix parent relative-path in server-all and server-min 2014-07-22 16:55:33 +01:00
Stian Thorgersen 64b8a990f9 Merge pull request #548 from stianst/master
KEYCLOAK-567 Added server-dep-min and server-dep-all poms
2014-07-22 14:11:05 +01:00
Stian Thorgersen 0580c2223b KEYCLOAK-567 Added server-dep-min and server-dep-all poms 2014-07-22 14:10:38 +01:00
Stian Thorgersen 824aed773b Merge pull request #547 from stianst/jpa-fix
Add jboss.as.jpa.managed=false to persistence.xml
2014-07-22 10:08:24 +01:00
Stian Thorgersen 9164e69d49 Add jboss.as.jpa.managed=false to persistence.xml 2014-07-22 09:40:52 +01:00
Stian Thorgersen 670dc39d4f Merge pull request #546 from stianst/access-code
Remove access token from access code, and create token when code is exchanged for token
2014-07-22 09:37:54 +01:00
Stian Thorgersen b196d0dded Remove access token from access code, and create token when code is exchanged for token 2014-07-22 09:37:21 +01:00
Stian Thorgersen bfd62b0807 Merge pull request #545 from mposolda/master
Fix MySQL and PostgreSQL. More DB schema refactoring
2014-07-22 09:10:52 +01:00
mposolda 3514d5cd78 Fix MySQL and PostgreSQL testsuite (was caused by uncommited transaction) 2014-07-22 07:53:05 +02:00
mposolda b3b46339a4 More DB schema refactoring. Ensure that all columns are named in code 2014-07-22 07:53:05 +02:00
Stian Thorgersen 9ff4947abd Merge pull request #540 from mposolda/master
Update DB profiles. Fix ExportImportTest to not clash with other tests
2014-07-21 14:18:04 +01:00
Stian Thorgersen 469eb77486 Merge pull request #544 from stianst/master
KEYCLOAK-569 Check application roles for scope
2014-07-21 13:52:43 +01:00
Stian Thorgersen 213b685b43 KEYCLOAK-569 Check application roles for scope 2014-07-21 13:50:27 +01:00
mposolda 42df327104 Update DB profiles. Fix ExportImportTest to not clash with other tests 2014-07-21 08:48:25 +02:00
Bill Burke d2b42e3843 Merge pull request #542 from patriot1burke/master
remove hack comment
2014-07-18 12:07:51 -04:00
Bill Burke b999c1e5b1 remove hack comment 2014-07-18 12:07:30 -04:00
Bill Burke 2ecf696a12 Merge pull request #541 from patriot1burke/master
cache config and cache docs
2014-07-18 11:48:54 -04:00
Bill Burke 063a63445a keycloak-json fix 2014-07-18 11:45:47 -04:00
Bill Burke b84bdcf464 cache config 2014-07-18 11:43:44 -04:00
Bill Burke f275ecf6d5 cache settings 2014-07-18 11:30:10 -04:00
Stian Thorgersen b241920802 Merge pull request #539 from stianst/master
Updated aerogear-ups integration readme
2014-07-18 12:14:53 +01:00
Stian Thorgersen dcd1406a27 Updated aerogear-ups integration readme 2014-07-18 12:14:29 +01:00
Stian Thorgersen d2d408e223 Merge pull request #538 from stianst/master
Added profile for building AeroGear project-integrations for WildFly
2014-07-18 12:10:27 +01:00
Stian Thorgersen 9699d8aa82 Added profile for building AeroGear project-integrations for WildFly 2014-07-18 12:09:54 +01:00
Stian Thorgersen 6d8d9107c6 Merge pull request #537 from stianst/master
Configure db in keycloak-server.json
2014-07-18 11:35:33 +01:00
Stian Thorgersen fb8483dc56 Added support to specify dialect for JPA 2014-07-18 11:32:09 +01:00
Stian Thorgersen 85621bdd9f KEYCLOAK-566 Configure db in keycloak-server.json instead of persistence.xml 2014-07-18 11:21:52 +01:00
Bill Burke 573f7fc1fb Merge pull request #535 from mposolda/master
Export/import improvements and fixes
2014-07-17 16:34:39 -04:00
Bill Burke 14af840c3a Merge pull request #536 from patriot1burke/master
realmId and rroleId
2014-07-17 16:34:27 -04:00
Bill Burke aa2d1bcc93 db schema 2014-07-17 16:32:36 -04:00
Bill Burke 20cde9cd00 realmId and roleId used in User and user relationships 2014-07-17 15:41:02 -04:00
mposolda 3dff4afe83 Export/import improvements and fixes 2014-07-17 21:31:33 +02:00
Bill Burke 3edce7f580 named queries and roleId in RoleMapping 2014-07-17 15:20:56 -04:00
Stian Thorgersen 35d601d795 Merge pull request #534 from stianst/master
Removed long ids and replaced with composite ids
2014-07-17 11:57:56 +01:00
Stian Thorgersen f00957ec3a Commented out test in ExportImportTest that breakes the other tests 2014-07-17 11:57:33 +01:00
Stian Thorgersen 46c04561ff Removed long ids and replaced with composite ids 2014-07-17 11:16:15 +01:00
Stian Thorgersen 9abe357754 Merge pull request #533 from mposolda/master
Added method UserProvider.getUsersCount(). Refactor export-import witth users pagination
2014-07-17 10:50:52 +01:00
mposolda 3c99350247 Fix testsuite to use mongo for realms,users and audit when keycloak.realm.provider=mongo 2014-07-17 11:05:51 +02:00
mposolda b041f2a857 Added method UserProvider.getUsersCount(). Refactor export-import with users pagination available 2014-07-17 10:15:13 +02:00
mposolda 0a15f873af Minor improvement in AbstractKeycloakRule.stopServer() 2014-07-17 10:14:35 +02:00
Bill Burke 08b0aebe03 Merge pull request #532 from patriot1burke/master
jpa schema changes
2014-07-16 19:38:01 -04:00
Bill Burke a323fe7992 schema changes 2014-07-16 19:34:54 -04:00
Bill Burke 1963e94e33 use long for primary key 2014-07-16 17:11:59 -04:00
Bill Burke 7437af0131 Merge pull request #530 from ssilvert/master
Rename and update XSD to comply with WildFly testsuite.
2014-07-16 15:31:56 -04:00
Bill Burke 60a1fc3020 Merge pull request #531 from mposolda/master
Fix ExportImportTest on som envs like windows
2014-07-16 15:31:45 -04:00
mposolda 8714193c97 Fix ExportImportTest to pass on windows 2014-07-16 20:00:18 +02:00
Stan Silvert a61733cf47 Rename and update XSD to comply with WildFly testsuite. 2014-07-16 13:44:57 -04:00
mposolda 1aff8af336 Enable ExportImportTest 2014-07-16 19:43:47 +02:00
Stian Thorgersen c21be01e97 Merge pull request #529 from stianst/master
KEYCLOAK-435 Added pagination support for users
2014-07-16 18:04:36 +01:00
Stian Thorgersen 72d240a57e KEYCLOAK-435 Added pagination support for users 2014-07-16 17:54:11 +01:00
Stian Thorgersen 83769b3d52 Merge pull request #528 from stianst/master
Fix redirect-loop in keycloak.js
2014-07-16 17:39:15 +01:00
Stian Thorgersen 1a5c2365a1 Fix redirect-loop in keycloak.js 2014-07-16 17:38:56 +01:00
Bill Burke 87e40f1820 Merge pull request #527 from patriot1burke/master
move credential validation to UserProvider
2014-07-16 12:08:50 -04:00
Bill Burke 8fbfba907b Merge remote-tracking branch 'upstream/master' 2014-07-16 12:05:31 -04:00
Bill Burke f342a8c7a3 move credential validation to UserProvider 2014-07-16 12:05:15 -04:00
Stian Thorgersen 866715b752 Merge pull request #526 from stianst/master
KEYCLOAK-559 If session iframe is enabled, check this before doing a log...
2014-07-16 10:48:14 +01:00
Stian Thorgersen e0ec121012 KEYCLOAK-559 If session iframe is enabled, check this before doing a login if onload is check-sso 2014-07-16 10:47:42 +01:00
Stian Thorgersen 63ff5736a2 Merge pull request #525 from stianst/mysql-5.1-fix
KEYCLOAK-554 Fix for MySQL 5.1. Set length of keys to 36 for uuid's or 200 for others
2014-07-16 09:52:18 +01:00
Stian Thorgersen 3451778f48 KEYCLOAK-554 Fix for MySQL 5.1. Set length of keys to 36 for uuid's or 200 for others 2014-07-16 09:51:31 +01:00
Bill Burke e4b3007ce2 Merge pull request #524 from patriot1burke/master
user provider split
2014-07-15 15:45:30 -04:00
Bill Burke a5593469ae rename ModelProvider->RealmProvider 2014-07-15 15:44:50 -04:00
Bill Burke 484a4c1454 user provider refactor complete 2014-07-15 15:25:06 -04:00
Bill Burke 09a336c708 Merge pull request #523 from mposolda/master
Export/import into representations
2014-07-15 12:14:11 -04:00
Bill Burke 4ac5fb08e3 Merge remote-tracking branch 'upstream/master' 2014-07-15 12:11:24 -04:00
Bill Burke ff86bdc35f userprovider split 2014-07-15 12:11:12 -04:00
mposolda 726ce08700 More cleanup and removed export-import-impl module 2014-07-15 16:43:55 +02:00
mposolda c14840a4c0 More cleanup after rebase 2014-07-15 14:44:38 +02:00
mposolda 24a492ffe0 Export/import refactoring to use same representation as admin endpoints 2014-07-15 05:35:24 +02:00
Stian Thorgersen c4ff4e030a Merge pull request #522 from stianst/master
Removed dep on model-jpa from export-import-impl
2014-07-14 17:31:55 +01:00
Stian Thorgersen 7244944879 Removed dep on model-jpa from export-import-impl 2014-07-14 17:31:35 +01:00
Stian Thorgersen 1f2db2c049 Merge pull request #521 from stianst/master
KEYCLOAK-556 NullPointerException in project-integrations example on Wil...
2014-07-14 17:08:30 +01:00
Stian Thorgersen d6e8b1ba2c KEYCLOAK-556 NullPointerException in project-integrations example on WildFly 2014-07-14 17:07:38 +01:00
Stian Thorgersen 7f0a3eebfb Merge pull request #520 from stianst/master
Fix project-integrations/aerogear-ups
2014-07-14 16:38:58 +01:00
Stian Thorgersen 5d0345c922 Fix project-integrations/aerogear-ups 2014-07-14 16:38:39 +01:00
Bill Burke 99a041158c Merge pull request #519 from patriot1burke/master
TM.enlistAfterCompletion
2014-07-14 11:37:16 -04:00
Bill Burke 8f7efd5b67 merge 2014-07-14 11:36:57 -04:00
Bill Burke d2c27daa16 changes 2014-07-14 11:31:25 -04:00
Stian Thorgersen 2d2041db5e Merge pull request #518 from stianst/master
Lazy load connections
2014-07-14 16:29:12 +01:00
Stian Thorgersen e3f260c57f Added lazy load to connection factories, to make sure we only try to connect to JPA/Mongo when used 2014-07-14 16:28:47 +01:00
Stian Thorgersen 8113c3f05e Fixes to persistence.xml 2014-07-14 15:55:26 +01:00
Stian Thorgersen e3bc15a4d9 Merge pull request #516 from stianst/master
KEYCLOAK-512 Pagination support for sessions
2014-07-14 12:01:56 +01:00
Stian Thorgersen 3f68180ee7 KEYCLOAK-512 Pagination support for sessions 2014-07-14 11:49:59 +01:00
Stian Thorgersen 6bb6dc0aaf Merge pull request #515 from stianst/master
Added JPA connection provider and added basic support for multiple trans...
2014-07-14 10:13:45 +01:00
Stian Thorgersen d625fb014c Added JPA connection provider and added basic support for multiple transactions to KeycloakSession 2014-07-14 10:10:03 +01:00
Bill Burke 8cc7676335 Merge pull request #514 from patriot1burke/master
enlist
2014-07-11 19:44:01 -04:00
Bill Burke 626cecba95 enlist 2014-07-11 19:43:37 -04:00
Bill Burke 65348cd5e7 Merge pull request #513 from patriot1burke/master
session transaction
2014-07-11 19:38:58 -04:00
Bill Burke 5f5316fbdc session transaction 2014-07-11 19:29:11 -04:00
Stian Thorgersen 011bac7a1e Merge pull request #512 from stianst/master
Started UserSessionProvider
2014-07-10 16:50:54 +01:00
Stian Thorgersen 86671a2354 Started UserSessionProvider 2014-07-10 16:48:25 +01:00
Bill Burke 8fac39fffa Merge pull request #511 from ssilvert/master
In WF subsystem, make WildFly dependencies provided scope.
2014-07-09 13:54:24 -04:00
Stan Silvert a2710e01da In WF subsystem, make WildFly dependencies provided scope. 2014-07-09 13:33:14 -04:00
Stian Thorgersen 38abcd4a90 Merge pull request #510 from stianst/master
Revert JPA model provider
2014-07-09 15:44:05 +01:00
Stian Thorgersen 62dd6fbc6b Revert JPA model provider 2014-07-09 15:40:23 +01:00
Stian Thorgersen 75c56a2a7c Merge pull request #509 from stianst/master
KEYCLOAK-553 Added minified keycloak.js
2014-07-09 14:17:36 +01:00
Stian Thorgersen 7491b1c369 KEYCLOAK-553 Added minified keycloak.js 2014-07-09 12:23:29 +01:00
Stian Thorgersen a3cca7424a Merge pull request #508 from stianst/master
Removed JPA model provider
2014-07-08 15:36:33 +01:00
Stian Thorgersen 387aed6269 Removed JPA model provider 2014-07-08 15:35:49 +01:00
Stian Thorgersen 20bf888d73 Merge pull request #507 from stianst/master
Removed model methods from KeycloakSession
2014-07-08 15:28:13 +01:00
Stian Thorgersen ad6d52cb0f Removed model methods from KeycloakSession 2014-07-08 15:27:42 +01:00
Stian Thorgersen 8dc293f629 Removed removeAllData from model 2014-07-08 15:27:42 +01:00
Bill Burke de8819aae3 Merge pull request #506 from ssilvert/master
KEYCLOAK-555 Subsystem needs template for new WildFly build.
2014-07-08 10:02:10 -04:00
Stan Silvert e98ced5d0f KEYCLOAK-555 Subsystem needs template for new WildFly build. 2014-07-08 09:39:44 -04:00
Stian Thorgersen 6775af302a Merge pull request #505 from stianst/master
Added hybrid model provider with jpa stores
2014-07-08 12:04:36 +01:00
Stian Thorgersen 621cae61b6 Added hybrid model provider with jpa stores 2014-07-08 12:04:09 +01:00
Bill Burke 922a8f7eef Merge pull request #504 from patriot1burke/master
fix json file
2014-07-07 18:51:59 -04:00
Bill Burke 48a0e564b9 fix json file 2014-07-07 18:51:38 -04:00
Bill Burke 0758d89a59 Merge pull request #502 from mposolda/master
Changes in representations - adding role mappings under user representat...
2014-07-07 18:41:42 -04:00
Bill Burke e94b6acd02 Merge pull request #503 from patriot1burke/master
admin rest api test
2014-07-07 18:38:08 -04:00
Bill Burke a1beff7d3d admin rest api test 2014-07-07 18:37:30 -04:00
mposolda ffc30b4c03 Changes in representations - adding role mappings under user representation 2014-07-07 22:48:53 +02:00
Bill Burke 6d824231e9 Merge pull request #501 from patriot1burke/master
fix delete when cache is on
2014-07-07 15:04:18 -04:00
Bill Burke 060a90197e Merge remote-tracking branch 'upstream/master' 2014-07-07 15:00:05 -04:00
Bill Burke df7aac01dd fix delete realm 2014-07-07 14:59:51 -04:00
Bill Burke 69b00d859b Merge pull request #497 from mposolda/performance
More performance testing stuff
2014-07-07 14:59:41 -04:00
mposolda 9c88979040 Added UsersJob for generic job related to users. Support for sync/async jobs. Configurable host/port 2014-07-07 20:31:43 +02:00
Bill Burke bda218af07 Merge pull request #500 from patriot1burke/master
configurable hash iterations
2014-07-07 12:12:25 -04:00
Bill Burke 15d7568792 configurable hash iterations 2014-07-07 12:11:45 -04:00
Stian Thorgersen 18b14b54f4 Merge pull request #499 from stianst/master
Remove notBefore from users
2014-07-07 16:26:31 +01:00
Stian Thorgersen 38857cf2e6 Remove notBefore from users 2014-07-07 16:23:53 +01:00
Stian Thorgersen 0647590170 Merge pull request #498 from stianst/master
Rename loginName to username
2014-07-07 15:58:26 +01:00
Stian Thorgersen 099743d448 Rename loginName to username 2014-07-07 15:56:21 +01:00
Bill Burke 4cbc423d67 Merge pull request #496 from patriot1burke/master
turn on cache for testsuite
2014-07-03 15:30:05 -04:00
Bill Burke e37b5613ed turn on cache 2014-07-03 15:29:31 -04:00
Bill Burke f92ad89a6c Merge pull request #495 from patriot1burke/master
HttpServletRequest.logout()
2014-07-03 14:08:43 -04:00
Bill Burke e99a675c50 HttpServletRequest.logout() 2014-07-03 14:08:19 -04:00
Stian Thorgersen 4593bff76f Merge pull request #494 from vibe13/master
Alignment of dependencies to other JBoss projects
2014-07-03 09:18:34 +01:00
Andrea Vibelli 81d6590544 Removed unused property resteasy.version.eap.6.3, resteasy.version has the same value and it is the one used for consuming 2.3.7.Final version 2014-07-02 15:10:24 +02:00
Andrea Vibelli 2f9597cf51 Alignment of com.h2database:h2 to version 1.3.168 (was 1.3.161) 2014-07-02 14:53:57 +02:00
Andrea Vibelli 8a246a6444 Extraction of hardcoded version of org.jboss.logging:jboss-logging into properties; alignment of org.jboss.logging:jboss-logging to a unique version 3.1.4.GA (was 3.1.1.GA and 3.1.2.GA) 2014-07-02 14:35:57 +02:00
Stian Thorgersen 876d493458 Merge pull request #491 from jpkrohling/JPK-LocationSearchInsteadHref
Changed window.location.href to search.
2014-07-01 10:10:21 +01:00
Stian Thorgersen 6f023fcae4 Merge pull request #490 from mposolda/performance
Added module performance-web for testing Keycloak endpoints with JMeter
2014-07-01 09:50:15 +01:00
Bill Burke 0abd93417a Merge pull request #492 from patriot1burke/master
model fix for caching
2014-06-30 13:13:16 -04:00
Bill Burke b4f5fe9977 model fix for caching 2014-06-30 13:12:42 -04:00
Juraci Paixão Kröhling e15b0c7d90 Changed window.location.href to search. 2014-06-30 17:56:53 +02:00
Stian Thorgersen 3cf52b018c Merge pull request #489 from smysnk/master
Add AMD support to keycloak javascript adapter
2014-06-30 10:22:55 +01:00
mposolda cb9f159091 Added JMeter. Added KeycloakPerfServer into maven. 2014-06-30 09:45:20 +02:00
Joshua Bellamy-Henn 64cea5f25a Add AMD support to keycloak javascript adapter 2014-06-27 11:24:29 -06:00
mposolda b6fd58e644 Support for configuring number of worker threads in undertow 2014-06-27 17:25:47 +02:00
mposolda de774a3058 Add classes classifier to performance-tools war, so classes can be reused in performance-web module 2014-06-27 15:51:02 +02:00
mposolda 9ebe2ff45e Added support for get-users-count and create-available-users into PerfTools 2014-06-27 15:51:02 +02:00
mposolda 4ebc575afc Change perf test to parse accessToken and refreshToken in Servlet. Support for logout 2014-06-27 15:51:01 +02:00
mposolda a1d4d8e13f Work in progress... 2014-06-27 15:51:01 +02:00
mposolda 69f7dfbb47 Added performance-web module 2014-06-27 15:51:01 +02:00
mposolda 99ce0a36e6 Refactoring current performance test 2014-06-27 15:51:01 +02:00
Stian Thorgersen 67c34554db Merge pull request #488 from stianst/master
Fix reset password test
2014-06-27 14:49:57 +01:00
Stian Thorgersen 9ba61af83b Fix reset password test 2014-06-27 14:48:36 +01:00
Stian Thorgersen 436f5f6229 Merge pull request #487 from stianst/master
KEYCLOAK-501 Check if old session for browser exists and delete before c...
2014-06-27 13:58:23 +01:00
Stian Thorgersen 270d6108ca KEYCLOAK-501 Check if old session for browser exists and delete before creating a new 2014-06-27 12:55:33 +01:00
Stian Thorgersen 18094370a6 Merge pull request #486 from stianst/master
Bug fixes
2014-06-27 12:21:39 +01:00
Stian Thorgersen 26eac398e0 KEYCLOAK-541 Create session after resetting password through email 2014-06-27 12:20:32 +01:00
Stian Thorgersen 93c896b4f7 KEYCLOAK-543 Set sent date on emails 2014-06-27 12:19:56 +01:00
Stian Thorgersen 6b29202f1f Merge pull request #485 from stianst/master
Added mail server to test tools
2014-06-27 11:11:52 +01:00
Stian Thorgersen 3b1d8fd8fe Added mail server to test tools 2014-06-27 11:11:33 +01:00
Stian Thorgersen 630d62f014 Merge pull request #484 from stianst/master
Refactor to KeycloakSession
2014-06-27 09:54:31 +01:00
Stian Thorgersen 711b8ca747 Return null for selected provider if empty string 2014-06-27 09:39:21 +01:00
Stian Thorgersen 34a1923d18 Refactor to prepar for splitting model 2014-06-27 09:39:06 +01:00
Stian Thorgersen 6291936ce9 Disable cache as it's not working
Conflicts:
	project-integrations/aerogear-ups/auth-server/src/main/webapp/WEB-INF/keycloak-server.json
	server/src/main/resources/META-INF/keycloak-server.json
	testsuite/tools/src/main/resources/META-INF/keycloak-server.json
2014-06-27 09:38:13 +01:00
Stian Thorgersen 5220c6c288 Merge pull request #483 from mposolda/master
KEYCLOAK-540 Broken project-integrations/aerogear-ups. Move keycloak-ser...
2014-06-25 14:41:56 +01:00
mposolda 532c82f752 KEYCLOAK-540 Broken project-integrations/aerogear-ups. Move keycloak-server.json to correct location, so it's used instead of SystemPropertiesConfigProvider 2014-06-25 15:27:38 +02:00
Stian Thorgersen 61218715af Merge pull request #482 from mposolda/master
LDAP: configurable LDAP Object Classes for User
2014-06-25 09:46:17 +01:00
mposolda 8dce5a90bb LDAP: configurable LDAP Object Classes for User 2014-06-25 07:59:58 +02:00
Stian Thorgersen 8d794b8151 Merge pull request #481 from mposolda/ldap
Ldap improvements and fixes
2014-06-24 09:37:47 +01:00
mposolda b1cfab34fd Support for test of LDAP connection and authentication 2014-06-24 10:03:14 +02:00
mposolda 159a5e20bf Possibility to configure ldap attribute, which is mapped to username, through admin console 2014-06-23 17:54:11 +02:00
mposolda aea4fd8e30 Upgrade to picketlink 2.6.0.CR5. Support for sync whole UserModel into AuthenticationProvider 2014-06-23 15:29:00 +02:00
mposolda 767e6a9783 Add ActiveDirectory fix to properly support sAMAccountName as username 2014-06-23 15:29:00 +02:00
Stian Thorgersen bb8ac0000e Merge pull request #480 from stianst/master
Started test tools module
2014-06-23 11:45:21 +01:00
Stian Thorgersen d73d2e0788 Started test tools module 2014-06-23 11:37:03 +01:00
Bill Burke 714e83198e Merge pull request #479 from patriot1burke/master
perf test fix
2014-06-20 17:15:35 -04:00
Bill Burke c780918501 perf test fix 2014-06-20 17:15:16 -04:00
Bill Burke 8bcb01fadb Merge pull request #478 from patriot1burke/master
user cache
2014-06-20 17:08:16 -04:00
Bill Burke f78f5366cf Merge remote-tracking branch 'upstream/master' 2014-06-20 17:07:50 -04:00
Bill Burke f0d02f24b1 user cache 2014-06-20 17:06:56 -04:00
Bill Burke 15bc33f8e6 Merge pull request #477 from patriot1burke/master
stateless access codes
2014-06-20 10:38:46 -04:00
Bill Burke d21a19925b stateless access codes 2014-06-20 10:37:27 -04:00
Bill Burke a1e9d99d3e Merge remote-tracking branch 'upstream/master' 2014-06-19 08:50:34 -04:00
Bill Burke 094cf675c7 user cache 2014-06-19 08:50:19 -04:00
Stian Thorgersen efcb7ee110 Merge pull request #476 from mposolda/beta-3-testing
Improvement for AD integration to avoid exception when mulitple users wi...
2014-06-19 13:02:36 +01:00
mposolda c8321fc96e Improvement for AD integration to avoid exception when mulitple users without email are synced to Keycloak DB 2014-06-19 13:43:44 +02:00
Stian Thorgersen 56ea29e899 Merge pull request #475 from stianst/master
Bumped version to 1.0-beta-4-SNAPSHOT
2014-06-19 10:20:13 +01:00
Stian Thorgersen df2305eb02 Bumped version to 1.0-beta-4-SNAPSHOT 2014-06-19 10:19:10 +01:00
Stian Thorgersen 5281793078 Merge pull request #474 from mposolda/beta-3-testing
fix javascript error when click on 'Show Expires' and token is not activ...
2014-06-18 17:11:49 +01:00
mposolda 9beb210c23 fix javascript error when click on 'Show Expires' and token is not active 2014-06-18 18:08:05 +02:00
Stian Thorgersen d1c890db18 Merge pull request #472 from mposolda/db-fixes
KEYCLOAK-534 Fix MS-SQL, Oracle and Sybase
2014-06-18 13:32:57 +01:00
Stian Thorgersen 0be4a4b71d Merge pull request #473 from stianst/master
Documentation to reverse proxy config
2014-06-18 13:13:11 +01:00
mposolda 19a545049b KEYCLOAK-536 Fix Sybase - role can't be used as column name as it's keyword in sybase 2014-06-18 12:31:55 +02:00
Stian Thorgersen 34eb34c5fc Added documentation to specify https redirect port 2014-06-18 11:08:06 +01:00
Stian Thorgersen 28adc28a56 Add instructions to configure a reverse proxy with KC 2014-06-18 09:59:23 +01:00
mposolda 5d8c803da6 Remove duplicite dependency declarations to remove maven warnings 2014-06-18 10:31:56 +02:00
mposolda 2fd7fdaa74 KEYCLOAK-535 Fix Keycloak with Oracle 2014-06-18 10:29:57 +02:00
mposolda f9cb99a1ee KEYCLOAK-534 Fix MS-SQL 2014-06-17 19:41:19 +02:00
Stian Thorgersen 37bfb2c594 Merge pull request #471 from stianst/master
KEYCLOAK-533
2014-06-17 15:38:16 +01:00
Stian Thorgersen 3b55248e6c KEYCLOAK-533 2014-06-17 15:30:50 +01:00
Stian Thorgersen b35bccdad2 Merge pull request #470 from stianst/master
KEYCLOAK-530
2014-06-17 14:11:48 +01:00
Stian Thorgersen 6cabf3e57d KEYCLOAK-530 2014-06-17 14:11:31 +01:00
Stian Thorgersen b31b54e17c Merge pull request #469 from stianst/master
KEYCLOAK-532
2014-06-17 14:07:26 +01:00
Stian Thorgersen 469d044254 KEYCLOAK-532 2014-06-17 14:07:07 +01:00
Stian Thorgersen 9a26d7078f Merge pull request #468 from stianst/master
KEYCLOAK-520
2014-06-17 11:21:54 +01:00
Stian Thorgersen 896c32a660 KEYCLOAK-520 2014-06-17 11:21:36 +01:00
Stian Thorgersen 6e23613b9e Merge pull request #467 from stianst/master
Disable cache provider for beta-3 release
2014-06-17 11:07:27 +01:00
Stian Thorgersen d15324110e Disable cache provider for beta-3 release 2014-06-17 11:06:08 +01:00
Stian Thorgersen 153de54fe8 Merge pull request #466 from stianst/master
KEYCLOAK-526 Fix iframe origin when auth server url is relative
2014-06-16 17:55:27 +01:00
Stian Thorgersen 2866f6fc23 KEYCLOAK-526 Fix iframe origin when auth server url is relative 2014-06-16 17:55:03 +01:00
Bill Burke 9228f0c076 Merge pull request #465 from patriot1burke/master
keycloak-521
2014-06-16 11:59:52 -04:00
Bill Burke 1eafb01c8d keycloak-521 2014-06-16 11:59:27 -04:00
Bill Burke 44f446e745 Merge pull request #464 from patriot1burke/master
keycloak-518
2014-06-16 10:48:34 -04:00
Bill Burke c71fdc72c7 keycloak-518 2014-06-16 10:43:50 -04:00
Bill Burke bbf944a225 Merge pull request #463 from patriot1burke/master
oops show-sql=false
2014-06-16 10:28:28 -04:00
Bill Burke dbc5641144 oops show-sql=false 2014-06-16 10:28:06 -04:00
Bill Burke 9080a64fcd Merge pull request #462 from patriot1burke/master
better fetch for role mappings
2014-06-16 10:16:22 -04:00
Bill Burke f50177996d better fetch for role mappings 2014-06-16 10:15:53 -04:00
Bill Burke b649dd39d9 Merge pull request #461 from patriot1burke/master
caching
2014-06-13 20:09:03 -04:00
Bill Burke ab87c03732 cache 1st iteration finished 2014-06-13 19:39:20 -04:00
Bill Burke 8eaf77b3c1 cache impl again 2014-06-13 19:05:05 -04:00
Bill Burke cbea141a54 cache impl 2014-06-13 17:17:45 -04:00
Bill Burke 60a040a141 Merge pull request #460 from patriot1burke/master
refactor for caching
2014-06-13 09:49:08 -04:00
Bill Burke 4a518c964b mongo refactor for caching 2014-06-12 16:51:19 -04:00
Bill Burke bb2ad656a3 cache implement 2014-06-12 11:45:50 -04:00
Bill Burke 30b95e0a57 Merge remote-tracking branch 'upstream/master' 2014-06-12 11:12:22 -04:00
Bill Burke 852c631eff Merge pull request #459 from ssilvert/master
KEYCLOAK-522 Refactor Undertow Adapter so that it can optionally be used without the Servlet API.
2014-06-12 11:12:07 -04:00
Bill Burke 211a279248 Merge remote-tracking branch 'upstream/master' 2014-06-12 11:11:27 -04:00
Bill Burke 2ae2067841 refactor for caching again 2014-06-12 11:11:14 -04:00
Bill Burke 0dd06e3343 model refactor for caching 2014-06-10 18:50:08 -04:00
Stan Silvert 4e9bec69e4 Add Apache 2.0 license 2014-06-09 16:43:45 -04:00
Stan Silvert 70392d9f1a KEYCLOAK-522 Refactor Undertow Adapter so that it can optionally be used
without the Servlet API.
2014-06-09 16:43:44 -04:00
Bill Burke 9a3abf6a6a Merge pull request #458 from mposolda/master
Support for Active Directory and RHDS
2014-06-09 15:15:15 -04:00
mposolda 0bfcbdb359 Support for Active Directory and RHDS 2014-06-09 16:20:19 +02:00
Bill Burke 2f3c8bf079 cache refactor 2014-06-06 15:12:58 -04:00
Stian Thorgersen e7bde986aa Merge pull request #457 from stianst/master
KEYCLOAK-504 Using https results in RuntimeException if sslRequired is set to false
2014-06-06 14:54:40 +01:00
Stian Thorgersen f3211bf34d KEYCLOAK-504
Using https results in RuntimeException if sslRequired is set to false
2014-06-06 14:54:11 +01:00
Stian Thorgersen c086e0a502 Merge pull request #456 from stianst/master
KEYCLOAK-500
2014-06-06 09:53:08 +01:00
Stian Thorgersen 80f4b668b2 KEYCLOAK-500
Redundant condition in keycloak.js
2014-06-06 09:52:25 +01:00
Stian Thorgersen 01606ab5e0 Merge pull request #455 from stianst/master
KEYCLOAK-496 Dependency jira alignments with other JBoss projects
2014-06-05 15:25:37 +01:00
Stian Thorgersen 91e29d9710 KEYCLOAK-496 Dependency jira alignments with other JBoss projects 2014-06-05 13:33:48 +01:00
Stian Thorgersen 23d101f8fa Merge pull request #454 from rodrigopsasaki/issue-keycloak-519
Issue KEYCLOAK-519
2014-06-05 13:30:00 +01:00
Rodrigo Sasaki e08b3e7dec flipped comparison operands to avoid NPE 2014-06-05 09:24:06 -03:00
Stian Thorgersen c4e32b7c45 Merge pull request #453 from stianst/stateless-social
Fix
2014-06-05 11:13:38 +01:00
Stian Thorgersen 14ece40054 Removed file that shouldn't have been committed 2014-06-05 11:12:47 +01:00
Stian Thorgersen eaa6be55d7 KEYCLOAK-496 Removed commons-io 2014-06-05 10:41:37 +01:00
Stian Thorgersen 2ae714aea2 Merge pull request #452 from stianst/stateless-social
KEYCLOAK-244 Social should be stateless
2014-06-05 10:40:07 +01:00
Stian Thorgersen 5f6687ec62 KEYCLOAK-244 Social should be stateless 2014-06-05 10:09:17 +01:00
Stian Thorgersen 06053fad85 Merge pull request #451 from stianst/master
KEYCLOAK-510
2014-06-04 12:34:29 +01:00
Stian Thorgersen d0c06ab0ce KEYCLOAK-510
NPE in ExtendingThemeManager
2014-06-04 12:26:24 +01:00
Stian Thorgersen cfb6f927b2 Merge pull request #450 from jimbo1007/jsfix
add missing initPromise.setSuccess()
2014-06-03 15:02:18 +01:00
unknown 8d33894989 add missing initPromise.setSuccess() 2014-06-03 09:28:01 -04:00
Bill Burke ba13cbe004 Merge pull request #449 from patriot1burke/master
fix deadlocks
2014-06-02 21:34:43 -04:00
Bill Burke 9410adf9ce fix deadlocks 2014-06-02 21:33:43 -04:00
Bill Burke 7443c78087 Merge pull request #448 from patriot1burke/master
bump version again
2014-06-02 14:22:10 -04:00
Bill Burke d5b34a0b41 bump version again 2014-06-02 13:12:04 -04:00
Bill Burke 0cd64e297a Merge pull request #447 from patriot1burke/master
bump version
2014-06-02 12:22:40 -04:00
Bill Burke 0fcf80dd6e bump version 2014-06-02 12:21:58 -04:00
Bill Burke 56e9e0b4f9 Merge pull request #446 from patriot1burke/master
NPE in as7 adapter logout
2014-06-02 12:03:09 -04:00
Bill Burke dfcd3267e4 NPE in as7 adapter logout 2014-06-02 12:02:42 -04:00
Bill Burke f689747fd6 Merge pull request #445 from patriot1burke/master
wildfly ssl fixes
2014-06-02 11:22:51 -04:00
Bill Burke bb11165568 wildfly ssl fixes 2014-06-02 11:22:19 -04:00
Bill Burke a180c6b896 Merge remote-tracking branch 'upstream/master' 2014-06-02 09:37:30 -04:00
Bill Burke 34d3be244d bump undertow version 2014-06-02 09:37:18 -04:00
Stian Thorgersen 4662781213 Merge pull request #443 from lnewson/master
Fixed an integer overflow that caused the token to be refreshed too often
2014-06-02 09:35:11 +01:00
Stian Thorgersen 5bd12a708f Merge pull request #444 from lnewson/social-fix
Fixed an NPE when the social users name is null
2014-06-02 09:34:32 +01:00
Bill Burke e39149c954 Merge remote-tracking branch 'upstream/master' 2014-06-01 18:03:49 -04:00
Bill Burke b925a97b5d bump wildfly version 2014-06-01 18:03:39 -04:00
Lee Newson 3bcf2c81da Fixed an NPE when the users name is null 2014-05-31 10:39:34 +10:00
Lee Newson b52801de25 Fixed an integer overflow that caused the token to always be refreshed 2014-05-31 10:26:06 +10:00
Stian Thorgersen 4d8c3d7d73 Merge pull request #442 from stianst/master
Cache for FreeMarker templates and set cache-control for static resources from themes
2014-05-30 17:03:37 +01:00
Stian Thorgersen ea1f10361a Cache FreeMarker templates 2014-05-30 16:59:25 +01:00
Stian Thorgersen 5dafad71ac Set cache-control on static resources from themes 2014-05-30 16:59:25 +01:00
Bill Burke df28fb97ed Merge pull request #440 from stianst/master
Bump version to 1.0.beta2-SNAPSHOT
2014-05-30 08:56:00 -04:00
Stian Thorgersen 5600018a56 Merge pull request #441 from mposolda/master
Basic fix of performance tests and added README. Still requires work...
2014-05-30 10:37:05 +01:00
mposolda 441c00c06f Basic fix of performance tests and added README. Still requires work... 2014-05-30 11:03:16 +02:00
Stian Thorgersen 9533bbc47d Merge pull request #439 from mposolda/master
Fix js-console on FF
2014-05-30 08:55:33 +01:00
Stian Thorgersen 2025d314ec Bump version to 1.0.beta2-SNAPSHOT 2014-05-30 08:52:03 +01:00
mposolda 772f991545 Fix js-console on FF 2014-05-29 18:56:34 +02:00
Bill Burke f6b59b03bb Merge pull request #438 from patriot1burke/master
bump version
2014-05-29 12:16:30 -04:00
Bill Burke 2ae3775841 bump version 2014-05-29 12:12:33 -04:00
Stian Thorgersen 8573c13b8c Merge pull request #437 from mposolda/master
Improve PropertiesAuthenticationProvider to support retrieving user pass...
2014-05-29 16:10:11 +01:00
mposolda db1c6e9afd Improve PropertiesAuthenticationProvider to support retrieving user passwords from custom location and persisting password updates 2014-05-29 16:55:41 +02:00
Stian Thorgersen 429f003578 Merge pull request #436 from stianst/master
Fix audit provider example
2014-05-29 15:08:48 +01:00
Stian Thorgersen dd684858f2 Fix audit provider example 2014-05-29 15:08:27 +01:00
Stian Thorgersen 2e82d56634 Merge pull request #435 from stianst/master
Demo fixes
2014-05-29 14:04:40 +01:00
Stian Thorgersen 1ede6e70b7 Fix customer-portal-cli example 2014-05-29 14:04:10 +01:00
Stian Thorgersen 8908fbef58 Fix instructions for deploying demo to use jboss-as:deploy or wildfly:deploy 2014-05-29 14:03:50 +01:00
Stian Thorgersen 09a96b3a2b Merge pull request #434 from stianst/master
Added sunrise theme to examples, including instructions on how to deploy
2014-05-29 13:15:14 +01:00
Stian Thorgersen 5b7c8b6920 Added sunrise theme to examples, including instructions on how to deploy 2014-05-29 13:14:39 +01:00
Stian Thorgersen 409b46963e Merge pull request #433 from mposolda/master
Add more scopes into testrealm.json to ensure that admin is able to acce...
2014-05-29 13:03:04 +01:00
mposolda 53cf574735 Add more scopes into testrealm.json to ensure that admin is able to access all things he needs 2014-05-29 13:06:47 +02:00
Stian Thorgersen fe236cabd3 Merge pull request #431 from mposolda/master
Change default timeouts for testrealm.json bundled in examples, Fix admin-access-app example
2014-05-29 10:55:35 +01:00
Stian Thorgersen d25536569a Merge pull request #430 from PatrickMadden/master
Added bindIp support to embedmongo-maven-plugin configuration. Solves is...
2014-05-29 10:54:46 +01:00
mposolda 06b9499805 Fixing typo in admin console causing errors when change passwordCredentialsGrant 2014-05-29 11:42:54 +02:00
Stian Thorgersen 2a2e57467d Merge pull request #432 from stianst/master
Fix themes displayed multiple times in admin console
2014-05-29 10:28:22 +01:00
Stian Thorgersen 24ac6cbbac Fix themes displayed multiple times in admin console 2014-05-29 10:28:05 +01:00
Stian Thorgersen 0b68e52b83 Fix Cannot read property 'realm' of undefined 2014-05-29 10:20:49 +01:00
Stian Thorgersen cf1393ffe1 Updated sunrise theme example 2014-05-29 09:42:17 +01:00
mposolda c4808a3e61 Fix admin-App example 2014-05-29 10:29:06 +02:00
mposolda f0d37b19e2 Fix typo in docs 2014-05-29 10:28:54 +02:00
mposolda 65206a72b2 Change default timeouts for testrealm.json bundled in examples 2014-05-29 09:30:22 +02:00
Stian Thorgersen a91d4c06ee Merge pull request #429 from mposolda/master
Fixes in JS examples
2014-05-29 07:52:46 +01:00
PatrickMadden e8ad08bd28 Reuse bindIp of model for audit in integration test suite. 2014-05-28 20:02:42 -05:00
PatrickMadden 7a3b1ddd18 Added bindIp support to embedmongo-maven-plugin configuration. Solves issue of firewall pop-ups consistently displaying on every Microsoft Windows build. 2014-05-28 19:14:23 -05:00
mposolda db939ee076 Fix angular-product example 2014-05-28 23:30:34 +02:00
mposolda 5ede17d8b8 Replace innerText with innerHTML as innerText doesn't work on FF 2014-05-28 21:50:23 +02:00
Bill Burke 0ff992e04e Merge pull request #428 from patriot1burke/master
docs
2014-05-28 12:34:11 -04:00
Bill Burke 34a579821a docs 2014-05-28 12:33:49 -04:00
Stian Thorgersen dd30a35e1e Disable session iframe in Corodova 2014-05-28 17:29:13 +01:00
Stian Thorgersen 2074e1423f Fixes for example/cordova 2014-05-28 17:10:28 +01:00
Stian Thorgersen d5476b78ec Merge pull request #427 from stianst/master
Deploy server war and dist bundles to Maven repo. Also added '-parent' to some parent poms where this was missing
2014-05-28 15:32:58 +01:00
Stian Thorgersen df19700f69 Deploy server war and dist bundles to Maven repo. Also added '-parent' to some parent poms where this was missing 2014-05-28 15:32:20 +01:00
Bill Burke 3c605a7740 Merge pull request #426 from patriot1burke/master
docs and master realm rename
2014-05-28 09:51:56 -04:00
Bill Burke a64b35d72f doc merge 2014-05-28 09:33:42 -04:00
Bill Burke e880b77692 update docs 2014-05-28 09:31:33 -04:00
Stian Thorgersen e8fe26ff1c Merge pull request #425 from stianst/master
Fix for WildFly 8.1.0.CR2
2014-05-28 14:20:53 +01:00
Stian Thorgersen 108ccd98d0 Fix for WildFly 8.1.0.CR2 2014-05-28 14:20:29 +01:00
Stian Thorgersen 5fddc28cd6 Updated jboss maven plugin and added wildfly maven plugin. Both are skipped by default, so only needs to be specified in modules that should be deployed 2014-05-28 11:00:36 +01:00
Stian Thorgersen 63001d5e16 Merge pull request #424 from mposolda/master
Fix configuration of maven plugins in authentication-properties example
2014-05-28 09:59:36 +01:00
mposolda caccf76ea4 Fix configuration of maven plugins in authentication-properties example 2014-05-28 10:56:00 +02:00
Stian Thorgersen 5120549005 Merge pull request #423 from mposolda/master
Updated documentation and added example for Authentication SPI
2014-05-28 09:12:01 +01:00
mposolda e67032a9d7 Documentation about Authentication SPI, LDAP and Export/import 2014-05-27 22:37:25 +02:00
mposolda a903eb7605 Added example for AuthenticationProvider SPI 2014-05-27 22:37:25 +02:00
Bill Burke 5b431338c2 Merge pull request #422 from patriot1burke/master
admin console mistake
2014-05-27 14:56:14 -04:00
Bill Burke c20d488648 admin console mistake 2014-05-27 14:38:03 -04:00
Stian Thorgersen 57a8f3f5ee Added to migration guid for beta1 2014-05-27 15:29:04 +01:00
Stian Thorgersen 6dda7fc356 Added example providers for audit listener and audit provider 2014-05-27 15:11:52 +01:00
Stian Thorgersen 9261c1608f Fix missing @Path in admin console 2014-05-27 13:40:32 +01:00
Stian Thorgersen 80cd43390b Added doc for audit 2014-05-27 13:40:23 +01:00
Stian Thorgersen c196849574 Updated doc for themes 2014-05-27 13:08:00 +01:00
Stian Thorgersen 1007d19860 Updated instructions to configure Mongo through keycloak-server.json 2014-05-27 12:05:35 +01:00
Stian Thorgersen 374a7b8848 Updated url for OpenShift cartridge 2014-05-27 12:05:22 +01:00
Stian Thorgersen 8ae57fd117 Include all themes in configuration/themes to make it easy to modify/create themes 2014-05-27 12:05:09 +01:00
Bill Burke 5a2fd16b92 Merge pull request #421 from patriot1burke/master
jaxrs-doclet, more javadocs
2014-05-26 20:51:53 -04:00
Bill Burke 3545ac130b jax-doclet 2014-05-26 20:50:42 -04:00
Bill Burke 199c786e22 jaxrs-doclet support 2014-05-26 20:41:33 -04:00
Bill Burke 38b52283a5 Merge remote-tracking branch 'upstream/master' 2014-05-26 12:50:09 -04:00
Bill Burke 1f8b2d4c7b stuff 2014-05-26 12:49:56 -04:00
Bill Burke 9c0fa93510 Merge pull request #420 from patriot1burke/master
admin rest example, default origins, effect roles
2014-05-23 19:03:25 -04:00
Bill Burke ab2932f75e effective roles to oauth 2014-05-23 19:01:09 -04:00
Bill Burke 81083ef470 Merge remote-tracking branch 'upstream/master' 2014-05-23 18:22:34 -04:00
Bill Burke e4232c73c6 admin rest api example 2014-05-23 18:20:55 -04:00
Bill Burke 29070cec77 add KeycloakSecurityContext to principal 2014-05-23 16:26:44 -04:00
Bill Burke fbef9f7691 default web origins 2014-05-23 16:15:00 -04:00
Bill Burke 97f3a3feef Merge pull request #419 from patriot1burke/master
admin cors
2014-05-23 16:12:08 -04:00
Bill Burke 54cc095ff5 admin cors support 2014-05-23 16:02:14 -04:00
Stian Thorgersen 0ad4d5cc47 Change 'Composite roles' to 'Effective roles' on role mapping/scope pages 2014-05-23 16:44:55 +01:00
Bill Burke 236f3ab768 admin cors 2014-05-23 09:37:07 -04:00
Stian Thorgersen 6de7c42ac9 Merge pull request #418 from mposolda/master
Fixing typo
2014-05-23 10:21:44 +01:00
mposolda bb7a809ab5 Fixing typo 2014-05-23 11:19:17 +02:00
Stian Thorgersen 142b155460 Merge pull request #417 from mposolda/master
At least one redirect_uri must be available for oauthClients and applica...
2014-05-23 10:11:06 +01:00
Stian Thorgersen 0f6bc9c5c7 KEYCLOAK-492
Can't add scope on application role to application
2014-05-23 10:10:19 +01:00
mposolda e600d7c449 At least one redirect_uri must be available for oauthClients and applications, which are not bearer-only 2014-05-23 10:55:43 +02:00
Stian Thorgersen 37327be521 KEYCLOAK-482
Cannot read property 'realm' of undefined
2014-05-23 09:36:14 +01:00
Stian Thorgersen 07d2bf988a Merge pull request #416 from mposolda/master
Fix logging typo when importing roles
2014-05-23 09:14:10 +01:00
mposolda df06a0c878 Fix logging typo when importing roles 2014-05-23 09:46:50 +02:00
Stian Thorgersen cee3fea98f Merge pull request #415 from mposolda/master
Invalid active tab when on token-settings page
2014-05-23 08:39:49 +01:00
mposolda 5c378cbd9d Invalid active tab when on token-settings page 2014-05-23 08:51:06 +02:00
Stian Thorgersen 37099f3177 KEYCLOAK-494
Session state iframe uses first redirect uri for a client
2014-05-22 17:51:51 +01:00
Stian Thorgersen 128cc7eadb Fixes to js-console example 2014-05-22 17:07:40 +01:00
Stian Thorgersen de36973716 Redirect to login form automatically in keycloak.js if login-required is set 2014-05-22 16:59:38 +01:00
Stian Thorgersen 08b1996149 Removed jboss.as.jpa.managed property from persistence.xml as it's causing problems on AS 7.1 2014-05-22 16:01:05 +01:00
Stian Thorgersen 0574302840 Fix dialog for resetting user password 2014-05-22 15:39:31 +01:00
Stian Thorgersen fad0a7728c Make add redirect-uri and web-origin use same l&f 2014-05-22 15:10:22 +01:00
Stian Thorgersen 86ad7292af Fix updating sessions after logout session 2014-05-22 14:51:36 +01:00
Stian Thorgersen 74e2bfd9bd Merge pull request #414 from mposolda/master
Extract some version numbers into properties
2014-05-22 11:21:55 +01:00
mposolda 0c60bd80df Extract some versions into properties 2014-05-22 12:04:13 +02:00
Stian Thorgersen 46f81a331a Merge pull request #413 from mposolda/master
Fixing location of folder for FolderThemeProvider
2014-05-22 08:54:22 +01:00
mposolda b0ba7ed188 Fixing location of FolderThemeProvider 2014-05-22 09:21:42 +02:00
Bill Burke 0d9e14d4c7 Merge remote-tracking branch 'upstream/master' 2014-05-21 10:56:21 -04:00
Stian Thorgersen 10ae457237 Fixes to admin console 2014-05-21 14:10:59 +01:00
Stian Thorgersen 73f59417bd Remove index.html from redirect on '/auth/admin/' 2014-05-21 12:47:07 +01:00
Stian Thorgersen 6814230193 Fix NPE in account service 2014-05-21 12:13:00 +01:00
Stian Thorgersen d68131ac00 KEYCLOAK-475
Log is shown in menu when audit is disabled for realm
2014-05-21 12:05:32 +01:00
Stian Thorgersen 952f098440 KEYCLOAK-483
Remove 'index.html' from console url
2014-05-21 11:16:48 +01:00
Stian Thorgersen f08477ea66 Run import before creating default realm 2014-05-21 11:16:47 +01:00
Stian Thorgersen 8544dd66d8 Merge pull request #412 from mposolda/master
Mongo related fixes
2014-05-21 10:50:31 +01:00
Stian Thorgersen a5a2848251 KEYCLOAK-476
theme/account/patternfly/img/icon-sidebar-active.svg not found
2014-05-21 10:40:15 +01:00
mposolda 7232535729 More mongo fixes 2014-05-21 11:34:27 +02:00
mposolda 271292dbd4 Mongo related fixes 2014-05-21 11:34:27 +02:00
Stian Thorgersen eb47d43497 For installed app urn redirect to a page instead of returning the html, this is to prevent NPE if page is refreshed 2014-05-21 10:32:03 +01:00
Stian Thorgersen fd9317a295 KEYCLOAK-474
Code not visible for urn:ietf:wg:oauth:2.0:oob
2014-05-21 09:52:02 +01:00
Stian Thorgersen 11fc6d5321 KEYCLOAK-477
Remove keycloak.js debug statements
2014-05-21 09:39:02 +01:00
Stian Thorgersen 64a36aee03 Merge pull request #411 from stianst/master
Twitter fix and read keycloak-sever.json from standalone/configuration
2014-05-21 09:35:49 +01:00
Stian Thorgersen 59440840fe Read keycloak-sever.json from <JBOSS_HOME>/standalone/configuration if it exists 2014-05-21 09:35:01 +01:00
Stian Thorgersen c2075af7f7 Fix Twitter for localhost 2014-05-21 08:47:58 +01:00
Stian Thorgersen ab85f09608 Merge pull request #410 from ssilvert/master
Make UndertowUserSessionManagement class usable without the Servlet API.
2014-05-21 07:56:17 +01:00
Stan Silvert da799b18c3 Make UndertowUserSessionManagement class usable without the Servlet API. 2014-05-20 19:58:08 -04:00
Bill Burke ca6de3e486 simpler applicaiton create page 2014-05-20 17:45:14 -04:00
Bill Burke ae3c4e8459 default web origin is redirect uris 2014-05-20 17:40:45 -04:00
Bill Burke 8e79f550b0 Merge remote-tracking branch 'upstream/master' 2014-05-20 16:49:28 -04:00
Bill Burke 0137918701 urn 2014-05-20 16:49:25 -04:00
Bill Burke 79828ddc78 Merge pull request #409 from patriot1burke/master
fix urn redirect uri
2014-05-20 16:15:40 -04:00
Bill Burke fcca9dd90a fix urn redirect uri 2014-05-20 16:15:13 -04:00
Stian Thorgersen 1b4b537043 Merge pull request #408 from stianst/email-events
Email audit listener
2014-05-20 17:29:45 +01:00
Stian Thorgersen b09e2f697e Email audit listener 2014-05-20 17:04:17 +01:00
Bill Burke 2855baecef Merge pull request #407 from patriot1burke/master
check redirect uri exists in token service
2014-05-20 11:39:22 -04:00
Bill Burke b7cf1bb215 Merge remote-tracking branch 'upstream/master' 2014-05-20 11:38:50 -04:00
Bill Burke b3dd349342 check redirect uri exists in token service 2014-05-20 11:38:35 -04:00
Stian Thorgersen 357337047b Merge pull request #406 from stianst/master
Fix config for folder theme provider£
2014-05-20 14:42:39 +01:00
Stian Thorgersen 5496f043a5 Fix config for folder theme provider£ 2014-05-20 14:42:07 +01:00
Bill Burke a22aa8055f Merge pull request #405 from patriot1burke/master
redirect uris not required with bearer only
2014-05-20 09:31:23 -04:00
Bill Burke 57f0ea0638 Merge remote-tracking branch 'upstream/master' 2014-05-20 09:27:18 -04:00
Bill Burke f723ac79d1 redirect not required with bearer only 2014-05-20 09:19:04 -04:00
Stian Thorgersen 3a15b416a9 Merge pull request #404 from stianst/master
Add realm option to enable/disable Resource Owner Password Credentials G...
2014-05-20 11:33:07 +01:00
Stian Thorgersen cc97265c06 Add realm option to enable/disable Resource Owner Password Credentials Grant 2014-05-20 11:32:22 +01:00
Stian Thorgersen 665038d0ce Merge pull request #403 from stianst/master
Add email theme config for realm
2014-05-20 11:01:07 +01:00
Stian Thorgersen 8d1149dc07 Add email theme config for realm 2014-05-20 11:00:43 +01:00
Bill Burke ebea9e9270 Merge pull request #402 from patriot1burke/master
fix remove expired token
2014-05-19 18:53:54 -04:00
Bill Burke b5aa9efefb fix remove expired sessions 2014-05-19 18:53:28 -04:00
Bill Burke 95f56e2e62 fix removeexpired sessions 2014-05-19 18:33:54 -04:00
Bill Burke 273775d848 Merge pull request #401 from patriot1burke/master
fix aerogear again
2014-05-19 18:14:16 -04:00
Bill Burke 8606f344a8 fix aerogear again 2014-05-19 18:13:54 -04:00
Bill Burke 53c3696cbb Merge pull request #400 from patriot1burke/master
aerogear fix
2014-05-19 18:09:54 -04:00
Bill Burke 7203d9ba12 aerogear fix 2014-05-19 18:09:36 -04:00
Bill Burke 26d3e48555 Merge pull request #399 from patriot1burke/master
don't allow bearer-only to login
2014-05-19 15:09:18 -04:00
Bill Burke a53206995a stuff 2014-05-19 15:08:38 -04:00
Bill Burke b2c8f48af9 Merge pull request #398 from patriot1burke/master
require redirect
2014-05-19 14:54:31 -04:00
Bill Burke 11c23a7945 require redirect 2014-05-19 14:44:36 -04:00
Stian Thorgersen 3be4579204 Merge pull request #397 from stianst/email-themes
Email themes
2014-05-19 17:40:52 +01:00
Stian Thorgersen a3d08e7191 Added theme support to emails 2014-05-19 17:34:58 +01:00
Bill Burke 7e8b16f975 acct svc + sessions 2014-05-19 17:34:48 +01:00
Bill Burke 966eb2fe47 Merge pull request #396 from patriot1burke/master
acct svc + sessions
2014-05-19 11:46:04 -04:00
Bill Burke 5826f02ebe acct svc + sessions 2014-05-19 11:45:42 -04:00
Bill Burke 2b525c6016 Merge pull request #395 from patriot1burke/master
fix brute shutdown
2014-05-19 10:35:49 -04:00
Bill Burke dc7923c436 fix brute shutdown 2014-05-19 10:33:49 -04:00
Stian Thorgersen 00a64eeb89 Merge pull request #394 from stianst/master
Added keycloak-server.json for project-integrations/aerogear-ups
2014-05-19 10:47:15 +01:00
Stian Thorgersen 76c9f2c4ec Added keycloak-server.json for project-integrations/aerogear-ups 2014-05-19 10:46:33 +01:00
Bill Burke dafa52ea93 Merge pull request #393 from patriot1burke/master
user-session client association
2014-05-17 14:32:46 -04:00
Bill Burke c2bf6c3822 Merge remote-tracking branch 'upstream/master' 2014-05-17 14:24:37 -04:00
Bill Burke ab8de6ba25 client user-session association 2014-05-17 14:24:32 -04:00
Stian Thorgersen 6714e2b87f Merge pull request #392 from stianst/master
Server config
2014-05-16 17:34:13 +01:00
Stian Thorgersen 855269f35d Added 'keycloak-server.json' for configuring the server
Added SPI interface to detect SPI's
Converted Model to SPI/Provider to be loaded through ProviderSessionFactory
2014-05-16 17:33:22 +01:00
Stian Thorgersen a3ed02ea16 Merge pull request #391 from jeroenr/master
CORS improvements and clean up
2014-05-16 16:06:43 +01:00
Jeroen Rosenberg 84f13eadc1 * Possibility to add exposed headers
* Default allow headers
* Fix warnings, unused import, redundancies
2014-05-16 16:39:17 +02:00
Jeroen Rosenberg cedf43c084 Refactored joining of allowed headers to be more efficient 2014-05-16 14:28:49 +02:00
Jeroen Rosenberg 4c281a39bb Unused import 2014-05-16 14:10:13 +02:00
Jeroen Rosenberg 5533357c46 Added HEAD as default allowed method for Cors 2014-05-16 14:09:50 +02:00
Stian Thorgersen ae4d83107a Merge pull request #390 from jeroenr/master
Fixed URI encoding for clientId and parse optional client secret from config file
2014-05-16 13:02:41 +01:00
Jeroen Rosenberg b92494f023 Refactored to use switch with fall through for readability 2014-05-16 13:52:59 +02:00
Jeroen Rosenberg d3a2617d3c Read optional client secret configuration to ensure we can use Basic auth as well 2014-05-16 13:49:28 +02:00
Jeroen Rosenberg 740943290c URI encode clientId for referrer parameter 2014-05-16 13:46:46 +02:00
Bill Burke c51c7fe189 Merge pull request #389 from jeroenr/master
Improved exception handling. Don't swallow exception
2014-05-16 06:34:18 -04:00
Bill Burke 610eaaaaff Merge pull request #387 from cardosogabriel/POLISHING_UI
UI POLISHING: design styles and content
2014-05-16 06:34:09 -04:00
Jeroen Rosenberg bde9944449 Improved exception handling. Don't swallow exception 2014-05-16 09:35:19 +02:00
Bill Burke 1318ea85be Merge pull request #388 from patriot1burke/master
session idle and max lifespan
2014-05-15 23:18:43 -04:00
Bill Burke 67e3e60f28 test sso idle, logout on idle 2014-05-15 23:10:14 -04:00
Bill Burke bc2360e985 sso session idle and max lifespan 2014-05-15 17:25:57 -04:00
Gabriel Cardoso 8e7b0022a6 UI POLISHING: design styles and content 2014-05-15 15:22:38 -03:00
Bill Burke 27efd3c0a4 ssoSessionIdleTimeout refactor 2014-05-15 13:53:28 -04:00
Bill Burke 07a31d3f35 Merge pull request #386 from patriot1burke/master
check ssl required in adapter
2014-05-14 15:24:22 -04:00
Bill Burke 07dbb7d7b7 check ssl required in adapter 2014-05-14 15:23:45 -04:00
Bill Burke 26f6da10dd Merge pull request #385 from patriot1burke/master
Improved role and scope mapping screens
2014-05-14 14:50:52 -04:00
Bill Burke 7ba8e09aef improved scope screen 2014-05-14 14:50:11 -04:00
Stian Thorgersen d95372c993 Merge pull request #384 from stianst/master
Updated session status iframe for JavaScript adapter
2014-05-14 17:54:58 +01:00
Stian Thorgersen 643daadf60 Updated session status iframe for JavaScript adapter to be created automatically, and to invoke onAuthLogout callback if user is logged out 2014-05-14 17:46:30 +01:00
Stian Thorgersen 7bea4af6c9 Redirect to login page if logged out and submitting forms in acct mngmt 2014-05-14 17:46:30 +01:00
Stian Thorgersen b27776b3c6 Merge pull request #383 from matzew/master
removing java7 ctor usage of runtimeexception
2014-05-14 16:48:15 +01:00
Matthias Wessendorf d9c8dedcfb removing JavaSE6 incompatible ctor 2014-05-14 17:43:36 +02:00
Matthias Wessendorf 9e0bf9e7dc Removing exception ctor that does not work w/ java 6 2014-05-14 17:40:27 +02:00
Bill Burke 0e0dfb60e0 composite role mapping listing 2014-05-14 10:37:50 -04:00
Stian Thorgersen b95fd0d0b0 Merge pull request #382 from stianst/master
KEYCLOAK-431 View open sessions, and logout all sessions, through accoun...
2014-05-14 11:56:52 +01:00
Stian Thorgersen f4f9b1e323 KEYCLOAK-431 View open sessions, and logout all sessions, through account management 2014-05-14 11:56:28 +01:00
Bill Burke f7c3373f75 Merge pull request #381 from patriot1burke/master
IE fixes
2014-05-13 22:47:46 -04:00
Bill Burke 639b7c5610 fix IE problems 2014-05-13 22:33:46 -04:00
Bill Burke b30809d681 httponly, ie keycloak.js fix 2014-05-13 22:06:32 -04:00
Bill Burke 0731f9977b Merge pull request #380 from patriot1burke/master
cors example
2014-05-13 17:17:51 -04:00
Bill Burke e8f8829a76 cors example 2014-05-13 17:17:27 -04:00
Bill Burke 663ff30eae Merge pull request #379 from patriot1burke/master
angular example
2014-05-13 12:07:59 -04:00
Bill Burke 01d22c3aab angular example 2014-05-13 12:07:28 -04:00
Bill Burke 9b24369b92 Merge pull request #378 from patriot1burke/master
update ups writeup
2014-05-12 19:45:24 -04:00
Bill Burke f6645eea92 update ups writeup 2014-05-12 19:45:01 -04:00
Bill Burke 634f61281d Merge pull request #377 from patriot1burke/master
aerogear template
2014-05-12 19:40:00 -04:00
Bill Burke c560a739b1 aerogear readme 2014-05-12 19:39:29 -04:00
Bill Burke ea672e36ae rename realm management app 2014-05-12 19:28:34 -04:00
Bill Burke eb9335f706 aerogear 2014-05-12 18:34:17 -04:00
Bill Burke d429525620 Merge pull request #376 from patriot1burke/master
fix create realm
2014-05-12 15:42:42 -04:00
Bill Burke b1a480c20d fix create realm 2014-05-12 15:42:10 -04:00
Bill Burke 0fcebb8670 remove bundled app 2014-05-12 15:38:15 -04:00
Bill Burke 3e32bd116b aerogear demo update 2014-05-12 15:35:54 -04:00
Bill Burke a4cb268703 Merge pull request #375 from patriot1burke/master
per-realm admin console
2014-05-12 10:13:18 -04:00
Bill Burke 06b98589eb Merge remote-tracking branch 'upstream/master' 2014-05-12 10:12:42 -04:00
Bill Burke 1e1991e285 per-realm admin 2014-05-12 10:12:31 -04:00
Bill Burke b0446fab0c Merge pull request #374 from patriot1burke/master
iframe check login
2014-05-10 11:28:24 -04:00
Bill Burke 1194e40ef2 iframe check login 2014-05-10 11:23:44 -04:00
Stian Thorgersen 2a820c73b1 Merge pull request #373 from stianst/master
KEYCLOAK-421 Set realm admin apps to bearer-only
2014-05-09 12:03:56 +01:00
Stian Thorgersen 624fcf6197 KEYCLOAK-421 Set realm admin apps to bearer-only 2014-05-09 12:03:39 +01:00
Stian Thorgersen 59747500aa Merge pull request #372 from stianst/login-session
KEYCLOAK-432 Added user sessions
2014-05-09 11:53:23 +01:00
Stian Thorgersen 6f0b12174c KEYCLOAK-432 Added user sessions 2014-05-09 11:52:45 +01:00
Bill Burke 5568c8dc7d Merge pull request #371 from patriot1burke/master
keycloak.js admin login
2014-05-08 20:08:52 -04:00
Bill Burke d957cc4883 Merge remote-tracking branch 'upstream/master' 2014-05-08 20:03:20 -04:00
Bill Burke 2d949b63b5 keycloak.js login for admin 2014-05-08 19:55:57 -04:00
Stian Thorgersen abdbef6a51 Merge pull request #370 from mposolda/master
Social fixes and improvements
2014-05-07 16:50:19 +01:00
mposolda c51011acef KEYCLOAK-354 Possibility for admin to see social links of some user in admin console 2014-05-07 17:28:13 +02:00
mposolda 6b1e0401ba KEYCLOAK-361 it shouldn't be possible to remove last social link if user don't have password 2014-05-07 17:28:13 +02:00
Stian Thorgersen d523242dbb Merge pull request #368 from mposolda/master
A bit more cleanup of dependencies
2014-05-07 12:52:22 +01:00
Stian Thorgersen 92058b16c9 Merge pull request #369 from abstractj/cleanup
Little code clean up
2014-05-07 12:52:09 +01:00
Bruno Oliveira 4424c425a6 Redundant initialization 2014-05-07 08:15:31 -03:00
Bruno Oliveira 5f7b0aae06 Variables will be never used 2014-05-07 08:15:02 -03:00
Bruno Oliveira f77e3b5532 Unused imports 2014-05-07 08:14:32 -03:00
Bruno Oliveira 334b981741 notBefore wasn't being assigned 2014-05-07 08:10:03 -03:00
Bruno Oliveira 957ff7d206 Make it final 2014-05-07 08:05:57 -03:00
Bruno Oliveira 5973ccd522 Scope can be private 2014-05-07 08:03:21 -03:00
Bruno Oliveira 1ea1f0af96 Removing redundant local variable 2014-05-07 07:49:45 -03:00
Bruno Oliveira f5ac81db41 Return not necessary here 2014-05-07 07:48:42 -03:00
Bruno Oliveira 9e7f52ccda extends Object isn't necessary 2014-05-07 07:47:39 -03:00
mposolda f8173e6a5a A bit more cleanup of dependencies 2014-05-07 11:08:47 +02:00
Bill Burke 5edf05d569 Merge pull request #366 from mposolda/export-import-rebased
Full export-import implemented. Remove dependency of mongo on picketlink...
2014-05-06 21:17:51 -04:00
Bill Burke 4666bcbfb2 Merge pull request #367 from patriot1burke/master
remove /rest from RealmsResource - pom fixes
2014-05-06 21:09:11 -04:00
Bill Burke a374e52ea5 /rest removal web.xml fixes 2014-05-06 21:08:27 -04:00
Bill Burke f987d331b7 /rest removal and pom fixes 2014-05-06 20:43:01 -04:00
Bill Burke 314f177fe7 Merge remote-tracking branch 'upstream/master' 2014-05-06 20:21:59 -04:00
Bill Burke 64f591769a remove /rest from RealmsResource 2014-05-06 20:21:49 -04:00
mposolda 0801c9c120 Full export-import implemented. Remove dependency of mongo on picketlink-common 2014-05-06 22:15:57 +02:00
Bill Burke e4e02a2615 Merge pull request #365 from patriot1burke/master
aerogear fix
2014-05-06 10:41:42 -04:00
Bill Burke ff69607f52 aerogear fix 2014-05-06 10:41:17 -04:00
Bill Burke a23b213736 Merge pull request #362 from matzew/JSP-Error
Removing JSP code, adding simple text for a simple demo...
2014-05-06 10:33:27 -04:00
Bill Burke 36ce4e04d9 Merge pull request #364 from patriot1burke/master
add aerogear stuff
2014-05-06 10:10:45 -04:00
Bill Burke 3b6593b476 add aerogear stuff 2014-05-06 10:10:17 -04:00
Bill Burke 6ef3102cd1 Merge pull request #361 from patriot1burke/master
remove ups social dependencies
2014-05-06 10:08:08 -04:00
Bill Burke 39381c104c merge fixes 2014-05-06 10:07:48 -04:00
Bill Burke c04b490f29 port fix 2014-05-06 09:59:52 -04:00
Stian Thorgersen e1f2d296bf Merge pull request #363 from stianst/master
Removed org.json
2014-05-06 13:05:30 +01:00
Stian Thorgersen 1d760388de KEYCLOAK-441 Remove org.json 2014-05-06 12:32:29 +01:00
Stian Thorgersen 8286d1ce34 Fix breadcrumb for audit pages£ 2014-05-06 12:26:17 +01:00
Matthias Wessendorf 7b14d29dee Removing JSP code, adding simple text for a simple demo... 2014-05-06 11:29:08 +02:00
Bill Burke 75224d25b0 remove picketlink dependencies 2014-05-05 18:50:41 -04:00
Bill Burke 3a3ae742a4 Merge pull request #360 from patriot1burke/master
adatper deployment context fixes, picketlink abstraction
2014-05-05 18:21:45 -04:00
Bill Burke e7c64b7812 adatper deployment context fixes, picketlink abstraction 2014-05-05 18:20:52 -04:00
Bill Burke e55eb73fb9 Merge pull request #359 from patriot1burke/master
fix tomcat7 build
2014-05-02 13:00:32 -04:00
Bill Burke 201b35be54 fix tomcat7 build 2014-05-02 13:00:12 -04:00
Bill Burke e25b2b05ae Merge pull request #352 from ungarida/master
Tomcat7 adapter
2014-05-02 12:36:06 -04:00
Bill Burke 6b470f826e Merge pull request #358 from patriot1burke/master
dynamic key lookup, relative uris
2014-05-02 12:34:18 -04:00
Bill Burke 4517d9d707 Merge remote-tracking branch 'upstream/master' 2014-05-02 12:30:31 -04:00
Bill Burke 7ff2c77a82 relative uri tests and fixes 2014-05-02 12:30:08 -04:00
Bill Burke e5e43173bc relative redirect uris 2014-05-02 10:58:29 -04:00
Bill Burke 6f3822e6ea relative adapter urls 2014-05-02 10:17:40 -04:00
Bill Burke 95bafc416d Merge pull request #357 from patriot1burke/master
fix mime type
2014-04-30 14:26:12 -04:00
Bill Burke 2576975988 fix mimetype 2014-04-30 14:25:23 -04:00
Bill Burke 8c5ae9d052 fix mimetype 2014-04-30 14:24:37 -04:00
Stian Thorgersen 8ed5282da5 Merge pull request #356 from stianst/master
Documentation
2014-04-30 14:38:27 +01:00
Stian Thorgersen 9b6d9fda43 Updated documentation for js adapter 2014-04-30 14:38:02 +01:00
Stian Thorgersen 77c6b391c4 Document how to enable social only login 2014-04-30 14:07:03 +01:00
Stian Thorgersen c8432f74f6 Merge pull request #355 from stianst/master
KEYCLOAK-211 Enable social only login
2014-04-30 13:36:25 +01:00
Stian Thorgersen 8fa3425886 KEYCLOAK-211 Enable social only login 2014-04-30 11:57:44 +01:00
Stian Thorgersen 84396d0da1 Merge pull request #354 from stianst/master
KEYCLOAK-333 Removed use of RestEasy's Logger
2014-04-30 11:06:51 +01:00
Stian Thorgersen 38e6bde07e KEYCLOAK-415 Make sure query params are included when navigating in acct mngmt 2014-04-30 11:03:13 +01:00
Stian Thorgersen 9811aaeecc KEYCLOAK-333 Removed use of RestEasy's Logger 2014-04-30 10:13:53 +01:00
Stian Thorgersen 7284aae4df Merge pull request #353 from stianst/constraints
Ensure role name unique within realm/app
2014-04-30 09:50:58 +01:00
Stian Thorgersen 316431c4d1 Ensure role name unique within realm/app 2014-04-30 09:50:29 +01:00
Stian Thorgersen bb039576d4 Merge pull request #351 from stianst/constraints
Ensure application and client names are unique within realm
2014-04-29 17:16:25 +01:00
Stian Thorgersen 646e762cbe Ensure user loginName and email unique within realm 2014-04-29 17:15:28 +01:00
Stian Thorgersen 1d94649b96 Ensure application and client names are unique within realm 2014-04-29 12:03:09 +01:00
Stian Thorgersen 1fa019e9dd Merge pull request #350 from stianst/constraints
Enforce that realm name is unique in model
2014-04-29 10:44:42 +01:00
Stian Thorgersen 364998b34b Enforce that realm name is unique in model 2014-04-29 10:43:27 +01:00
Stian Thorgersen 6778fbfa3b Merge pull request #349 from mposolda/master
Fix testsuite with mongo. Upgrade picketlink and enable connection pooling for LDAP
2014-04-29 10:23:22 +01:00
mposolda bb11ad2ec1 KEYCLOAK-419 Upgrade picketlink dependency and enable ldap connection pooling 2014-04-29 11:10:10 +02:00
mposolda b6386630fb Fix testsuite with mongo 2014-04-29 10:37:43 +02:00
Bill Burke 363e5cdf64 Merge pull request #348 from patriot1burke/master
KeycloakApplication refactor
2014-04-28 18:05:59 -04:00
Bill Burke 7594be8014 merge 2014-04-28 18:05:03 -04:00
Bill Burke 62f8811a46 Merge remote-tracking branch 'upstream/master'
Conflicts:
	bundled-war-example/src/main/java/org/keycloak/server/KeycloakServerApplication.java
	bundled-war-example/src/main/webapp/WEB-INF/web.xml
2014-04-28 18:04:50 -04:00
Bill Burke 2d1dc4a874 application refactor 2014-04-28 17:34:06 -04:00
Stian Thorgersen 0546aebc84 More fixes to bundled war example 2014-04-28 14:32:25 +01:00
Stian Thorgersen c06009d5fb KEYCLOAK-430 Fix bundled war example 2014-04-28 13:36:34 +01:00
Stian Thorgersen 3d02fd5d0e KEYCLOAK-429 Remove role from composite roles when deleted 2014-04-28 12:55:04 +01:00
Bill Burke 562f6703b6 Merge remote-tracking branch 'upstream/master' 2014-04-25 13:15:00 -04:00
Stian Thorgersen 573c88564b Temporarily disabled unique constraint on Realm names as it breakes tests 2014-04-25 17:58:49 +01:00
Stian Thorgersen dabf101d96 Merge pull request #347 from stianst/master
Ensure Realm names are unique
2014-04-25 17:02:29 +01:00
Stian Thorgersen 292089cee8 Ensure Realm names are unique 2014-04-25 17:02:03 +01:00
Bill Burke 5594c73ceb Merge remote-tracking branch 'upstream/master' 2014-04-25 10:34:35 -04:00
Stian Thorgersen ce6652efb1 Merge pull request #346 from stianst/master
KEYCLOAK-347 Link realm and realm-permissions application
2014-04-25 15:32:47 +01:00
Stian Thorgersen f64f55a4c6 KEYCLOAK-347 Link realm and realm-permissions application 2014-04-25 15:32:28 +01:00
Bill Burke 9a3a8c39f4 merge 2014-04-25 10:03:56 -04:00
Bill Burke 1de4c31750 wtf 2014-04-25 10:02:49 -04:00
Bill Burke bda85f700a Merge pull request #343 from matzew/master
Adding simple CDI injection into resources
2014-04-25 09:58:59 -04:00
Stian Thorgersen 3471ce6c63 Merge pull request #345 from stianst/master
KEYCLOAK-385 Add CORS support to refresh token
2014-04-25 14:09:56 +01:00
Stian Thorgersen b8dfac391a KEYCLOAK-385 Add CORS support to refresh token 2014-04-25 14:09:39 +01:00
Stian Thorgersen 28546ad031 Merge pull request #344 from stianst/master
Theme support for admin
2014-04-25 13:59:41 +01:00
Stian Thorgersen d6e5e376bf Theme support for admin 2014-04-25 13:58:58 +01:00
Matthias Wessendorf 9b055c6ad6 Adding simple CDI injection into resources 2014-04-25 13:24:21 +02:00
Stian Thorgersen a3c17d1071 Merge pull request #342 from stianst/master
Added support for common resources to themes
2014-04-24 09:27:02 +01:00
Stian Thorgersen d57cd1aa91 Added support for common resources to themes 2014-04-24 09:26:19 +01:00
Bill Burke 3405330d92 Merge pull request #341 from patriot1burke/master
brute force fixes
2014-04-23 17:56:34 -04:00
Bill Burke 541e865fe8 brute force fixes 2014-04-23 17:55:13 -04:00
Davide Ungari c03b97d2d4 #cfg update version 2014-04-20 12:06:31 +02:00
Davide Ungari 5d275de8b2 #dev integrated adapter tomcat7 2014-04-18 08:32:42 +02:00
Bill Burke 80f3a3152c Merge pull request #340 from patriot1burke/master
brute force settings
2014-04-15 11:37:49 -04:00
Bill Burke 54abfb670c brute force settings 2014-04-15 11:37:27 -04:00
Bill Burke b41bf9f231 Merge pull request #339 from patriot1burke/master
more brute force detection
2014-04-14 18:59:09 -04:00
Bill Burke 2b8d2288fb more brute force detection 2014-04-14 18:58:45 -04:00
Bill Burke b556ff8a83 Merge pull request #338 from patriot1burke/master
move things around
2014-04-14 16:53:51 -04:00
Bill Burke 4c8471ef43 move things around 2014-04-14 16:51:53 -04:00
Bill Burke 1aa58ec580 Merge pull request #337 from patriot1burke/master
app/keycloak self bootstrapping bundle
2014-04-11 13:26:22 -04:00
Bill Burke 272806a3f3 app/keycloak self bootstrapping bundle 2014-04-11 13:24:07 -04:00
Bill Burke 51a718f337 Merge pull request #336 from patriot1burke/master
workarounds for resteasy 2.3.7 bugs
2014-04-10 22:34:19 -04:00
Bill Burke cc982cf246 workarounds for resteasy 2.3.7 bugs 2014-04-11 10:33:53 -04:00
Bill Burke 0896808625 Merge pull request #334 from mposolda/master
Reenable AuthProvidersIntegrationTest.registerUserLdapSuccess. Add varia...
2014-04-10 12:16:08 -04:00
Bill Burke c562e88e75 Merge pull request #335 from patriot1burke/master
fix server jboss-deployment-structure
2014-04-10 12:15:57 -04:00
Bill Burke abd7163205 fix server jboss-deployment-structure 2014-04-11 00:15:35 -04:00
mposolda 1701afb6d4 Fix standalone KeycloakServer 2014-04-10 14:59:54 +02:00
mposolda d8937b11cf Reenable AuthProvidersIntegrationTest.registerUserLdapSuccess. Add variable sleep after undertow stop in testsuite (some windows envs have issues when server is not fully stopped) 2014-04-10 10:29:13 +02:00
Bill Burke de871585e0 Merge pull request #333 from patriot1burke/master
remove transitive dependencies
2014-04-09 23:30:16 -04:00
Bill Burke b41c45d40a remove transitive dependencies 2014-04-10 11:29:47 -04:00
Bill Burke ecaa0d1401 use resteasy 2.3.7 2014-04-10 05:21:07 -04:00
Bill Burke cdc35d99bc cleanup 2014-04-09 22:34:36 -04:00
Bill Burke f5f96c5021 Merge pull request #332 from patriot1burke/master
use resteasy 2.3.7
2014-04-09 17:21:37 -04:00
Bill Burke 29a139f56b Merge pull request #331 from patriot1burke/master
cleanup
2014-04-09 14:00:19 -04:00
Stian Thorgersen daf1f2ed45 Merge pull request #330 from mposolda/master
Fix LDAP test on windows. Ensure that directory with data for embedded A...
2014-04-09 18:44:57 +01:00
mposolda eb37890924 Fix LDAP test on windows. Ensure that directory with data for embedded ApacheDS is deleted 2014-04-09 18:56:36 +02:00
Stian Thorgersen eb3e69d5d7 Updated audit timer 2014-04-09 06:40:15 +01:00
mposolda 5aefe52ccc Refactoring of Authentication SPI and Picketlink to use ProviderSessions
Refactoring of ProviderSessionFactory to support dependencies between components
Calling lifecycle methods
Removing KeycloakRegistry
2014-04-09 00:34:01 +02:00
mposolda 0d00db281a Fix the case when user is directly deleted in LDAP server 2014-04-09 00:06:04 +02:00
mposolda c8c4cfbaae Restructure of authentication module and packages 2014-04-09 00:06:04 +02:00
Bill Burke d5be56fa21 Merge pull request #328 from patriot1burke/master
fix broken build
2014-04-08 11:33:38 -04:00
Bill Burke 1d55a4f1e9 fix broken build 2014-04-08 23:32:26 -04:00
Stian Thorgersen 83bc115b63 Merge pull request #327 from stianst/master
Add timer jars to server
2014-04-08 13:09:26 +01:00
Stian Thorgersen e952ff142d Add timer jars to server 2014-04-08 13:09:06 +01:00
Stian Thorgersen b94bad7f58 Merge pull request #326 from stianst/master
Clearing audit events through admin console and through timer
2014-04-08 12:43:52 +01:00
Stian Thorgersen 354cf02aaa Fix audit mongo tests 2014-04-08 12:43:01 +01:00
Stian Thorgersen 7f0cf3eda8 Allow clearing audit events through admin console, and added timer to clear expired events 2014-04-08 11:32:20 +01:00
Stian Thorgersen 9bc0bd452d Merge pull request #325 from mposolda/master
Logging message during ldap bootstrap
2014-04-08 09:43:05 +01:00
mposolda d124f43423 Logging message during ldap bootstrap 2014-04-07 19:40:02 +02:00
Stian Thorgersen a197bda363 Merge pull request #324 from stianst/master
Audit configurable through admin console
2014-04-07 18:06:43 +01:00
Stian Thorgersen 8ca46fa35d Audit configurable through admin console 2014-04-07 17:58:52 +01:00
Stian Thorgersen aec8feab49 Merge pull request #323 from stianst/master
Move setting cors properties
2014-04-07 13:59:39 +01:00
Stian Thorgersen e7c30fff48 Move setting cors properties 2014-04-07 13:58:35 +01:00
Stian Thorgersen 2916cce6fb Merge pull request #322 from stianst/master
KEYCLOAK-411 Set cors properties in KeycloakDeployment
2014-04-07 13:39:53 +01:00
Stian Thorgersen bf95c2ba85 KEYCLOAK-411 Set cors properties in KeycloakDeployment 2014-04-07 13:39:32 +01:00
Stian Thorgersen 6081572179 Merge pull request #321 from stianst/master
Fix testsuite for mongo
2014-04-07 13:38:01 +01:00
Stian Thorgersen bbf5fee320 Fix testsuite for mongo 2014-04-07 13:35:26 +01:00
Stian Thorgersen d66862fd26 Merge pull request #320 from matzew/master
Adding JPA-Audit PU
2014-04-07 13:21:26 +01:00
Matthias Wessendorf 1c0ef4621e Adding JPA-Audit PU 2014-04-07 14:01:31 +02:00
Stian Thorgersen 323e032287 Merge pull request #319 from stianst/master
Update admin console to allow changing context-path for KC
2014-04-07 11:21:48 +01:00
Stian Thorgersen 948960f33f Allow changing base url for Keycloak 2014-04-07 10:54:27 +01:00
Stian Thorgersen abde247e14 Moved admin-ui-styles into admin-ui 2014-04-07 10:37:21 +01:00
Stian Thorgersen a0cd2bf5a7 Merge pull request #318 from mposolda/ldap
Basic support for registration of new users in AuthenticationProvider (like LDAP). Other improvements in auth SPI
2014-04-07 09:35:35 +01:00
mposolda 58083fbb96 Hide password tab in acct management if passwordUpdate not supported 2014-04-04 23:47:12 +02:00
mposolda ad068a300b Basic support for registration of new users in AuthenticationProvider 2014-04-04 19:53:02 +02:00
mposolda be320e11a5 Improve handling of exceptions thrown from picketlink 2014-04-04 16:35:26 +02:00
Stian Thorgersen b7826be103 Merged humanfriendly filter with capitalize 2014-04-04 15:30:06 +01:00
Stian Thorgersen 216e24864a Merge branch 'ldap' of https://github.com/mposolda/keycloak into mposolda-ldap
Conflicts:
	admin-ui/src/main/resources/META-INF/resources/admin/js/app.js
	admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/realm.js
2014-04-04 15:29:03 +01:00
Stian Thorgersen afea032322 Merge pull request #317 from stianst/master
Added audit to admin console
2014-04-04 15:19:40 +01:00
Stian Thorgersen 88ddc8ebca Added audit to admin console 2014-04-04 15:16:08 +01:00
mposolda 2aac603fad Added configuration of authentication providers into admin console 2014-04-04 13:20:12 +02:00
Stian Thorgersen 8caf3fa83a Added details to log view in acct mngmt 2014-04-04 11:01:18 +01:00
Stian Thorgersen 42975f0edf Merge pull request #315 from stianst/master
Added audit log to account mngmt
2014-04-03 18:24:11 +01:00
Stian Thorgersen 3433227fa7 Added audit log to account mngmt 2014-04-03 16:27:31 +01:00
Stian Thorgersen e6067c915d Added ProviderSession to requests 2014-04-03 16:27:31 +01:00
Stian Thorgersen fcfbf156ce Merge pull request #314 from mposolda/ldap
Fixing testsuite failures with mongo model
2014-04-03 10:26:54 +01:00
mposolda d564955cab Fixing testsuite failures with mongo model 2014-04-03 10:58:39 +02:00
Bill Burke 30d523a5c2 Merge pull request #313 from patriot1burke/master
brute force protection
2014-04-02 20:27:15 -04:00
Bill Burke 126b444d77 brute force merge 2014-04-02 20:26:33 -04:00
Bill Burke d58870545f brute force protection 2014-04-02 20:09:14 -04:00
Bill Burke 231e8895a5 Merge pull request #309 from vibe13/master
Cleaning of pom.xml files
2014-04-02 11:39:04 -04:00
Bill Burke 7d7b9e5b73 Merge pull request #312 from mposolda/ldap
Refactoring of AuthenticationProvider SPI. Add Ldap settings into admin console
2014-04-02 11:37:11 -04:00
mposolda 25bf6d63b4 Refactoring of AuthenticationProvider SPI 2014-04-02 17:27:07 +02:00
mposolda 05cd8a82e5 Storing default AuthenticationProvider at the realm creation time 2014-04-02 17:17:33 +02:00
mposolda 1c218c8e9b Add Ldap settings into admin console 2014-04-02 17:17:32 +02:00
Stian Thorgersen 8af81cd290 Merge pull request #311 from stianst/master
Added JPA and Mongo audit providers. Add audit deps to server war.
2014-04-02 14:05:07 +01:00
Stian Thorgersen 869601d041 Added audit deps to server war 2014-04-02 11:37:22 +01:00
Stian Thorgersen 21239fbab9 Added Mongo audit provider 2014-04-01 18:00:35 +01:00
Stian Thorgersen 722a077de7 Added JPA audit provider£ 2014-04-01 15:13:53 +01:00
Stian Thorgersen 1e15e97d17 Merge pull request #310 from stianst/audit
Started audit
2014-03-31 17:43:42 +01:00
Stian Thorgersen 225307e855 KEYCLOAK-389 Added AuditListener SPI
KEYCLOAK-390 Added JBoss Logging AuditListener
KEYCLOAK-391 Audit Token events
2014-03-31 17:35:14 +01:00
Andrea Vibelli 84f1e1b56e Extraction into properties of maven-compiler-plugin source and target 2014-03-31 11:17:16 +02:00
Andrea Vibelli bdf1c1f495 Remove unnecessary version declaration and insertion of groupId 2014-03-31 10:45:11 +02:00
Andrea Vibelli 5e1da96177 Remove unnecessary version declarations 2014-03-31 10:44:59 +02:00
Andrea Vibelli 3ddb2084cd Remove duplicated dead code 2014-03-31 10:44:47 +02:00
Andrea Vibelli d831e25366 Remove unnecessary groupId declarations 2014-03-31 10:44:34 +02:00
Andrea Vibelli 37fdc50fb4 Remove warnings about no schema definition in pom.xml files 2014-03-31 10:44:22 +02:00
Bill Burke d8a3025ea1 Merge remote-tracking branch 'upstream/master' 2014-03-27 14:10:01 -04:00
Bill Burke 911cf2ae45 Merge pull request #307 from jpkrohling/JavascriptCharset
Fixed charset issue while decoding token with atob
2014-03-27 11:40:48 -04:00
Bill Burke 60ba41e82f Merge pull request #308 from mposolda/ldap
Fix LDAP tests and teststuite on windows. Set initial password directly ...
2014-03-27 11:40:28 -04:00
mposolda 129eb6a3be Fix LDAP tests and teststuite on windows. Set initial password directly in code as import from LDIF is problematic on windows 2014-03-27 16:20:03 +01:00
Juraci Paixão Kröhling 34fbdf4358 Fixed charset issue while decoding token with atob 2014-03-27 09:48:16 +01:00
Bill Burke 51b3de7383 unfix uribuilder 2014-03-26 10:19:56 -04:00
Bill Burke 0ec19c9ec9 uribuilder fix 2014-03-26 10:09:41 -04:00
Bill Burke 4711dd083f Merge pull request #306 from mposolda/master
Remove unfinished ldap-settings tab, which I've added accidentally in pr...
2014-03-26 09:42:57 -04:00
mposolda bcc0bcd219 Remove unfinished ldap-settings tab, which I've added accidentally in previous PR 2014-03-26 14:38:11 +01:00
Stian Thorgersen 00aaefb926 Merge pull request #305 from mposolda/master
Added Authentication SPI dependencies to auth-server.war
2014-03-26 12:45:51 +00:00
mposolda 3302c54c43 Added Authentication SPI dependencies to auth-server.war 2014-03-26 12:57:11 +01:00
Stian Thorgersen 434dec2318 Merge pull request #304 from mposolda/ldap
KEYCLOAK-388 - Auth SPI should be able to differentiate between the INVA...
2014-03-26 11:55:34 +00:00
mposolda 96a05a9b77 Console: work in progress 2014-03-26 12:25:46 +01:00
mposolda 77a44751a6 KEYCLOAK-388 - Auth SPI should be able to differentiate between the INVALID_USERNAME and INVALID_CREDENTIALS 2014-03-26 09:49:47 +01:00
Stian Thorgersen 51b95b1b91 Merge pull request #303 from mposolda/ldap
Fixes in AuthenticationProvider. Fixing testsuite
2014-03-25 14:17:31 +00:00
mposolda ab02dea902 Fixes in AuthenticationProvider. Fixing testsuite 2014-03-25 15:05:08 +01:00
Bill Burke 28a1bd8535 Merge pull request #302 from mposolda/ldap
Authentication SPI. Implementations based on Picketlink+LDAP, model and ...
2014-03-25 08:42:27 -04:00
Stian Thorgersen a2a8e72e20 Merge pull request #301 from stianst/master
Fixes to JS sdk
2014-03-25 10:37:48 +00:00
Stian Thorgersen 4788dd8bd2 Fixes to JS sdk 2014-03-25 10:37:20 +00:00
mposolda 793f69d4b6 Authentication SPI. Implementations based on Picketlink+LDAP, model and external model (other realm). Added KeycloakRegistry 2014-03-24 23:11:11 +01:00
Stian Thorgersen 0879013a90 Merge pull request #300 from corinnekrych/readme.instructions.improvement
fix typos and formatting
2014-03-24 09:36:35 +00:00
corinnekrych 877a552f3b fix typos and formatting 2014-03-21 17:34:24 +01:00
Stian Thorgersen 2403e1f465 Merge pull request #299 from stianst/master
Added support for Cordova to keycloak.js
2014-03-19 17:02:05 +00:00
Stian Thorgersen 119423895d Removed files that shouldn't have been committed 2014-03-19 16:54:20 +00:00
Stian Thorgersen 702ae0307e Fixes to account referrer to allow configurable referrer uri based on app redirect uri 2014-03-19 16:52:41 +00:00
Stian Thorgersen b5bdeae2a2 Updates to keycloak.js, including adding support for Cordova
Conflicts:
	examples/cordova/example-realm.json
	examples/js-console/src/main/webapp/index.html
	integration/js/src/main/resources/META-INF/resources/js/keycloak.js
2014-03-19 16:52:41 +00:00
Stian Thorgersen 4159a97881 Merge pull request #298 from stianst/master
Updates to keycloak.js
2014-03-18 14:44:42 +00:00
Stian Thorgersen 2d5e6520db Updates to keycloak.js 2014-03-18 14:43:48 +00:00
Stian Thorgersen 331ab71427 KEYCLOAK-380 Added OAuth2Constants 2014-03-15 10:43:52 +00:00
Stian Thorgersen f9aaa16cfe KEYCLOAK-378 KEYCLOAK-379 KEYCLOAK-381 Fix refresh token if token contains app roles. Changed long time fields in AccessCode and AccessToken to int 2014-03-15 10:15:10 +00:00
Stian Thorgersen 2ebc32793a Started installed application adapter 2014-03-14 17:01:08 +00:00
Bill Burke cec948ffb4 Merge pull request #297 from patriot1burke/master
further adapter tests
2014-03-14 11:21:53 -04:00
Bill Burke 466b6762d9 further adapter tests 2014-03-14 11:21:32 -04:00
Bill Burke e03737c665 Merge pull request #296 from patriot1burke/master
adapter testing
2014-03-13 21:48:14 -04:00
Bill Burke 3f1b7a0335 adapter testing 2014-03-13 21:47:46 -04:00
Bill Burke f26f2faa72 Merge pull request #295 from patriot1burke/master
bump version to beta-1 snapshot
2014-03-13 11:25:01 -04:00
Bill Burke 7763da1273 bump version to beta-1 snapshot 2014-03-13 11:24:38 -04:00
Bill Burke bb6791d6eb Merge pull request #294 from patriot1burke/master
bump version
2014-03-13 10:58:48 -04:00
Bill Burke 1c6b867079 bump version 2014-03-13 10:58:22 -04:00
Bill Burke 6b57684c52 Merge pull request #293 from patriot1burke/master
NPE in create user
2014-03-13 10:57:13 -04:00
Bill Burke 08769a2daa NPE in create user 2014-03-13 10:56:09 -04:00
Stian Thorgersen 7fff2588b2 Merge pull request #292 from stianst/master
Set next version
2014-03-13 09:12:18 +00:00
Stian Thorgersen ee5cab04e0 Set next version 2014-03-13 09:10:42 +00:00
Bill Burke 9f429e4150 Merge pull request #291 from patriot1burke/master
bump
2014-03-12 17:07:24 -04:00
Bill Burke 9528dbc4dc realm name in OTP 2014-03-12 17:05:57 -04:00
Bill Burke 3ff8d0fd1f bump version 2014-03-12 16:48:12 -04:00
Bill Burke 7b64d9975e Merge pull request #286 from secondsun/KEYCLOAK-355
Fixing java 8 build
2014-03-12 16:43:03 -04:00
Bill Burke ba60a0c04b Merge pull request #289 from stianst/master
Added a README.md in the root of examples to describe the difference bet...
2014-03-12 16:42:48 -04:00
Bill Burke 6926f02cc3 Merge pull request #290 from patriot1burke/master
buncha stuff
2014-03-12 15:58:22 -04:00
Bill Burke 52018b1f81 revoke on logoutAll 2014-03-12 15:57:43 -04:00
Bill Burke fcc95ef99b fix delete realm 2014-03-12 15:00:31 -04:00
Stian Thorgersen 2f29fab931 Added a README.md in the root of examples to describe the difference between preconfigured-demo and unconfigured-demo 2014-03-12 17:15:54 +00:00
Stian Thorgersen 0c2767afd7 Minor updates to docs 2014-03-12 17:15:04 +00:00
Stian Thorgersen 4a90133d29 Added customer-portal-js and customer-portal-cli to example testrealm.js and added instructions for customer-portal-cli to README.md 2014-03-12 17:14:40 +00:00
Stian Thorgersen 3c40e9694f Merge pull request #287 from stianst/master
Added subject in token changed to user id to migration doc
2014-03-12 15:59:27 +00:00
Stian Thorgersen 30358a7582 Added subject in token changed to user id to migration doc 2014-03-12 15:59:04 +00:00
Summers Pittman 20880ffd71 Fixing java 8 build 2014-03-12 10:40:47 -04:00
Bill Burke e48cc006f6 Merge remote-tracking branch 'upstream/master' 2014-03-12 10:17:24 -04:00
Bill Burke accb56be7f user import fix 2014-03-12 10:17:09 -04:00
Stian Thorgersen a1ea79e382 Revert changes to lib until it works on 7 and 8 2014-03-12 14:11:05 +00:00
Stian Thorgersen a1f10ef54b Merge pull request #285 from stianst/master
Add user friendly username for social links. Show access denied if social login is cancelled
2014-03-12 13:52:28 +00:00
Stian Thorgersen fbc39e82a1 KEYCLOAK-365 Add IDToken properties to JS SDK 2014-03-12 11:31:59 +00:00
Stian Thorgersen 0214827492 KEYCLOAK-364 Show access denied if social login is cancelled 2014-03-12 09:21:11 +00:00
Stian Thorgersen 6dc156712e KEYCLOAK-359 Add user friendly username for social links 2014-03-12 08:52:47 +00:00
Bill Burke 53f671e8af Merge pull request #283 from patriot1burke/master
adapter security context propagation
2014-03-11 18:08:23 -04:00
Bill Burke a15e7d1f6e add security domain docs 2014-03-11 17:57:35 -04:00
Bill Burke e836371887 security context propagation 2014-03-11 17:40:53 -04:00
Viliam Rockai 53b596d435 KEYCLOAK-336 removed non-working pagination from role list 2014-03-11 17:54:20 +00:00
Viliam Rockai 0dbd4417af KEYCLOAK-360 fixed account template menu 2014-03-11 18:24:10 +01:00
Viliam Rockai d1b1a98a0a KEYCLOAK-356 added autofocus to the new passwd field 2014-03-11 18:24:10 +01:00
Viliam Rockai ccc4f5a114 KEYCLOAK-362 - fixing the select2 with req user actions 2014-03-11 18:24:10 +01:00
Stian Thorgersen 03a0cce119 Merge pull request #281 from stianst/master
KEYCLOAK-357 KEYCLOAK-358 Set enabled default to true when creating appl...
2014-03-11 13:53:42 +00:00
Stian Thorgersen 26b3ec0b2a KEYCLOAK-357 KEYCLOAK-358 Set enabled default to true when creating applications, clients and users 2014-03-11 13:53:15 +00:00
Stian Thorgersen 7992509fde Merge pull request #280 from stianst/master
KEYCLOAK-355 Fix distribution build on JDK8
2014-03-11 09:52:52 +00:00
Stian Thorgersen b208cae333 KEYCLOAK-355 Fix distribution build on JDK8 2014-03-11 09:52:22 +00:00
Bill Burke 9749c65065 Merge pull request #278 from cardosogabriel/master
Adjustments on headers (top bar)
2014-03-10 20:08:14 -04:00
Bill Burke 9109642821 Merge pull request #279 from patriot1burke/master
refactor adapters complete
2014-03-10 20:08:06 -04:00
Gabriel Cardoso b6503748ca Adjusting headers to make them horizontally aligned to the content 2014-03-10 20:59:57 -03:00
Bill Burke 0284d040dc refactor adapters complete 2014-03-10 18:52:57 -04:00
Stian Thorgersen d8c13c9ac2 Merge pull request #277 from stianst/master
Remove clientSecret required in JS lib, and removed storing token to ses...
2014-03-10 17:28:38 +00:00
Stian Thorgersen be7008f253 Remove clientSecret required in JS lib, and removed storing token to sessionStore 2014-03-10 17:27:05 +00:00
Stian Thorgersen 63bc2d6dbb Merge pull request #276 from mposolda/account-social
KEYCLOAK-26 Linking social providers to existing account
2014-03-10 11:43:01 +00:00
mposolda 3d0d130622 KEYCLOAK-26 Linking social providers to existing account 2014-03-10 11:31:59 +01:00
Bill Burke 8c3225914c Merge pull request #273 from cardosogabriel/master
Improvements in the console header, content area background, favicon and logos
2014-03-07 18:48:45 -05:00
Bill Burke 798e3ce86b Merge pull request #274 from patriot1burke/master
adapter refactoring
2014-03-07 18:48:31 -05:00
Bill Burke 49c79f156a adapter refactoring 2014-03-07 18:48:02 -05:00
Gabriel Cardoso d3634c1180 Updated FavIcon and Keycloak Logos
- more attractive favicon
- updated keycloak logos (bigger distance between the symbol and text)
2014-03-07 18:51:10 -03:00
Gabriel Cardoso c345ee9e5a Fixing Content Area Background
- Now there is no vertical scroll when the content does not occupy the
full height;
- The background area / borders go until the bottom for longer pages
2014-03-07 15:05:22 -03:00
Gabriel Cardoso 12f080e803 Full width header 2014-03-07 14:49:55 -03:00
Bill Burke 2b01de5ecf remove transaction 2014-03-07 08:35:41 -05:00
Stian Thorgersen 61102845ed Merge pull request #271 from mposolda/mongo
Fix mongo to pass with testsuite. Other improvements
2014-03-07 13:01:26 +00:00
Stian Thorgersen ca3b28fda7 Merge pull request #272 from stianst/master
Added docs for installed applications
2014-03-07 13:00:59 +00:00
Stian Thorgersen 854158a9c2 Added docs for installed applications 2014-03-07 13:00:20 +00:00
mposolda 11bcd84738 Added MongoClientProvider. Possibility to configure mongo from external source 2014-03-07 13:39:43 +01:00
mposolda da3f1a21a2 Fix testsuite with Mongo. Added ClientAdapter and ClientEntity to mongo model to improve inheritance 2014-03-07 12:24:41 +01:00
Stian Thorgersen 2edb93ef54 Merge pull request #270 from stianst/master
Added documentation for admin access control
2014-03-07 09:11:00 +00:00
Stian Thorgersen 0f0353674d Added documentation for admin access control 2014-03-07 09:10:16 +00:00
Bill Burke 62b0789e5f Merge pull request #269 from patriot1burke/master
refactor adapters
2014-03-06 21:16:30 -05:00
Bill Burke 26d0f993ba formating for oauth client 2014-03-06 21:16:07 -05:00
Bill Burke a653e5a406 refactor adapters 2014-03-06 21:13:55 -05:00
Bill Burke 0fd0240be7 Merge pull request #268 from cardosogabriel/master
Adjusting font-sizes, margins and a few design details
2014-03-06 15:15:27 -05:00
Gabriel Cardoso 3ea9df89a9 Adjusting font-sizes, margins and a few design details 2014-03-06 16:05:19 -03:00
Bill Burke 3c463419ca Merge pull request #267 from patriot1burke/master
client type selection, remove scope param support
2014-03-06 10:27:10 -05:00
Bill Burke dd292c1d52 remove scope support for now part 2 2014-03-06 10:26:46 -05:00
Bill Burke 801ef3281a remove scope support for now 2014-03-06 09:59:27 -05:00
Bill Burke 8f29bf0a5a client type selection 2014-03-06 09:48:52 -05:00
Stian Thorgersen 6f752e68c8 Merge pull request #266 from stianst/master
Added basic command-line example
2014-03-06 12:09:22 +00:00
Stian Thorgersen 12978a4343 Added basic command-line example 2014-03-06 12:08:44 +00:00
Bill Burke b543e22eee Merge pull request #265 from patriot1burke/master
public clients
2014-03-05 20:26:52 -05:00
Bill Burke 599faa3cb5 public clients 2014-03-05 20:26:27 -05:00
Bill Burke d7b616773a Merge pull request #264 from patriot1burke/master
session mgmt as7
2014-03-05 15:00:37 -05:00
Bill Burke 633ddb70e7 session mgmt as7 2014-03-05 15:00:21 -05:00
Stian Thorgersen d0a6a8ae3b Merge pull request #263 from stianst/master
Added support for any port with http://localhost redirect uri. Added Config to centralize system properties used to configure KC
2014-03-05 15:23:29 +00:00
Stian Thorgersen 60bb05e6ca Added Config to centralize system properties used to configure KC 2014-03-05 15:20:53 +00:00
Stian Thorgersen 0219aa1e4c Added support for any port with http://localhost redirect uri 2014-03-05 12:54:57 +00:00
Bill Burke 34260b7428 Merge pull request #262 from patriot1burke/master
session mgmt
2014-03-04 22:25:56 -05:00
Bill Burke d6bd02ea7d session mgmt 2014-03-04 22:25:33 -05:00
Bill Burke 7699dd2701 Merge remote-tracking branch 'upstream/master' 2014-03-04 15:52:40 -05:00
Bill Burke 2d86b29b6c session stats 2014-03-04 15:52:27 -05:00
Stian Thorgersen 67db515fe1 Fix for small height 2014-03-04 15:41:06 +00:00
Stian Thorgersen df61879fb1 Merge pull request #261 from stianst/master
Fixes to cors for js. Improvements to login form for small screens. Fix ng-disabled with kc-read-only forms
2014-03-04 15:28:51 +00:00
Stian Thorgersen 77259320cf Fix js for cors requests 2014-03-04 15:27:13 +00:00
Stian Thorgersen e0dff8104d Fix ng-disabled when used with kc-read-only forms 2014-03-04 15:25:55 +00:00
Stian Thorgersen 9816fdd842 Improvements to login forms for small screen 2014-03-04 15:25:55 +00:00
Bill Burke 9d4cc19e62 Merge pull request #260 from patriot1burke/master
revocation app level
2014-03-03 17:10:34 -05:00
Bill Burke 06288fa07b revocation app level 2014-03-03 17:10:15 -05:00
Bill Burke 735486c36e Merge pull request #259 from patriot1burke/master
revocation and fix login.ftl
2014-03-03 16:32:22 -05:00
Bill Burke d783c6200e fix login.ftl page 2014-03-03 16:30:09 -05:00
Bill Burke e307916233 revocation ui 2014-03-03 16:01:22 -05:00
Bill Burke 01154f18dd Merge remote-tracking branch 'upstream/master' 2014-03-03 15:50:21 -05:00
Bill Burke 716972347d revocation 2014-03-03 15:50:10 -05:00
Stian Thorgersen 4b8c6f338a Merge pull request #258 from stianst/master
Fix social tab, and minor fixes to xs screens
2014-03-03 13:43:51 +00:00
Stian Thorgersen 170afedd19 Minor fixes for login forms on xs screens 2014-03-03 13:43:05 +00:00
Stian Thorgersen 8881ba2d72 Fix social tab not showing 2014-03-03 13:42:40 +00:00
Stian Thorgersen 1cff76922b Merge pull request #257 from stianst/master
Fixes to login forms, and started support for installed applications (for Cordova)
2014-03-03 13:00:18 +00:00
Stian Thorgersen c0f49763f1 Updates to login form styles 2014-03-03 12:58:57 +00:00
Stian Thorgersen 87aaaf0b06 Started support for installed applications 2014-03-03 12:58:16 +00:00
Bill Burke ec309e7e02 Merge pull request #256 from patriot1burke/master
refactor getRoleById, fix bugs
2014-03-02 20:41:48 -05:00
Bill Burke 22b25a0d9e KEYCLOAK-341 2014-03-02 20:40:34 -05:00
Bill Burke 8126110312 refactor getRoleById 2014-03-02 20:28:58 -05:00
Bill Burke f8eb56d6b7 Merge remote-tracking branch 'upstream/master' 2014-03-02 18:09:55 -05:00
Bill Burke 21b1ad5e0a remove application sessions tab 2014-03-02 17:56:22 -05:00
Bill Burke 5eddacfee9 Merge pull request #255 from patriot1burke/master
revocation
2014-03-02 17:46:49 -05:00
Bill Burke c8023c6651 revocation next phase: undertow complete 2014-03-02 17:32:25 -05:00
Bill Burke 7b30cc59b8 revocation phase 1 2014-02-28 19:47:05 -05:00
Bill Burke 581d64614e Merge pull request #254 from patriot1burke/master
add claims to grant page
2014-02-28 10:45:54 -05:00
Bill Burke 0d309d058c add claims to grant page 2014-02-28 10:45:12 -05:00
Bill Burke 11559cba50 public realm info update 2014-02-28 09:52:53 -05:00
Bill Burke e02d3748a9 Merge pull request #253 from patriot1burke/master
fix NPE
2014-02-28 09:20:09 -05:00
Bill Burke 236d67f78d Merge remote-tracking branch 'upstream/master' 2014-02-28 09:19:45 -05:00
Bill Burke 4dc4c56921 fix NPE 2014-02-28 09:19:26 -05:00
Stian Thorgersen cec3df71ca Merge pull request #252 from stianst/master
Fix form sometimes read-only on refresh
2014-02-28 10:36:30 +00:00
Stian Thorgersen 63aa303673 Fix form sometimes read-only on refresh 2014-02-28 10:35:34 +00:00
Bill Burke 3e68cc601a Merge pull request #250 from vrockai/FORMDIS
AngularJS update and directives refactoring
2014-02-27 16:50:10 -05:00
Bill Burke 918e3d17f6 Merge pull request #251 from patriot1burke/master
refactor out clientmodel.getAgent()
2014-02-27 16:49:30 -05:00
Bill Burke c78d1c90e4 remove clientmodel.getAgent() 2014-02-27 16:48:34 -05:00
Bill Burke 3fc273070e remove clientmodel.agent phase1 2014-02-27 13:55:04 -05:00
Viliam Rockai 7aa7df43aa KEYCLOAK-276 select2 lib update 2014-02-27 18:22:29 +01:00
Viliam Rockai d65926f3b8 KEYCLOAK-340 custom selectors on realm detail replaced with standard one 2014-02-27 17:41:00 +01:00
Viliam Rockai 5881ef3e11 KEYCLOAK-276 AngularJS upgraded to v1.2.13 2014-02-27 17:08:01 +01:00
Bill Burke f8da693fd0 move secret to clientmodel 2014-02-27 10:59:47 -05:00
Viliam Rockai b413636bf5 KEYCLOAK-340 refactoring of on/off switch 2014-02-27 16:33:16 +01:00
Stian Thorgersen a1dca73ad3 Merge pull request #249 from stianst/master
Added create-realm role
2014-02-27 11:08:24 +00:00
Stian Thorgersen 32b7c464c7 Added create-realm role 2014-02-27 11:07:48 +00:00
Stian Thorgersen d5e0e73369 Merge pull request #248 from stianst/master
Fixed permissions not updated when realm is imported
2014-02-27 10:23:51 +00:00
Stian Thorgersen b3375d4279 Fixed permissions not updated when realm is imported 2014-02-27 10:23:27 +00:00
Bill Burke 4f56170b4c Merge pull request #247 from patriot1burke/master
rename scope rep username to client
2014-02-26 22:23:30 -05:00
Bill Burke 42d30a5a70 rename scope rep username to client 2014-02-26 22:23:04 -05:00
Bill Burke 9dbd19f715 Merge pull request #246 from patriot1burke/master
Use ClientModel wherever possible
2014-02-26 22:05:22 -05:00
Bill Burke 48d39bf977 Use ClientModel wherever possible 2014-02-26 22:04:57 -05:00
Bill Burke a8e588216b Merge pull request #245 from patriot1burke/master
IDToken and claims
2014-02-26 19:30:26 -05:00
Bill Burke c02d532001 refactor model 2014-02-26 19:25:42 -05:00
Bill Burke 0f67feb9dd IDToken setup 2014-02-26 19:04:42 -05:00
Bill Burke b2719ff40a claims UI 2014-02-26 16:41:31 -05:00
Bill Burke 8613452f4f Merge remote-tracking branch 'upstream/master' 2014-02-26 15:29:31 -05:00
Bill Burke b249809d2e claims backend 2014-02-26 15:29:17 -05:00
Stian Thorgersen 4ea7808d5f Merge pull request #244 from stianst/master
Added view roles, including updating console to make forms read-only
2014-02-26 17:39:51 +00:00
Stian Thorgersen ae1b98e38f Added view roles, including updating console to make forms read-only 2014-02-26 17:38:42 +00:00
Stian Thorgersen d0ca9a655d Merge pull request #243 from stianst/admin-access
Started directive to make form read-only
2014-02-26 10:56:22 +00:00
Stian Thorgersen 8d5d786452 Started directive to make form read-only 2014-02-26 10:55:40 +00:00
Bill Burke deaf2f9273 Merge pull request #242 from patriot1burke/master
cors docs
2014-02-25 16:23:54 -05:00
Bill Burke db37053f58 cors docs 2014-02-25 16:23:29 -05:00
Stian Thorgersen dd75864749 Merge pull request #241 from stianst/admin-access
Fixes to permissions in admin console
2014-02-25 15:42:08 +00:00
Stian Thorgersen 98629ac6f8 Fixes to permissions in admin console 2014-02-25 15:41:42 +00:00
Stian Thorgersen fa39ec1c98 Merge pull request #240 from stianst/admin-access
KEYCLOAK-292 Fine-grained admin control
2014-02-25 12:59:31 +00:00
Stian Thorgersen 9a73936002 KEYCLOAK-292 Fine-grained admin control 2014-02-25 12:53:36 +00:00
Bill Burke 7f33593931 Merge pull request #239 from patriot1burke/master
token docs
2014-02-24 20:20:51 -05:00
Bill Burke 88fb1ec747 token docs 2014-02-24 20:20:29 -05:00
Bill Burke a3e437f82a Merge pull request #238 from patriot1burke/master
javascript refresh token
2014-02-24 19:59:22 -05:00
Bill Burke 64065a4573 javascript refresh token 2014-02-24 19:58:54 -05:00
Bill Burke 1acfe1502a Merge pull request #237 from patriot1burke/master
remember me
2014-02-24 17:19:53 -05:00
Bill Burke 4b78857b51 as7 adapter refresh token support 2014-02-24 17:16:45 -05:00
Bill Burke 735009cdd7 Merge remote-tracking branch 'upstream/master' 2014-02-24 09:49:01 -05:00
Bill Burke 166e00f2e8 remember me 2014-02-23 11:30:32 -05:00
Bill Burke 3552f9e4aa Merge pull request #236 from patriot1burke/master
central login timeouts, rememberme framework
2014-02-22 21:52:54 -05:00
Bill Burke 01ddafa83a central login timeouts, rememberme framework 2014-02-22 21:52:29 -05:00
Bill Burke 1bfad2e198 Merge pull request #235 from patriot1burke/master
refresh tokens
2014-02-22 20:41:01 -05:00
Bill Burke 3e88cb3b76 logout 2014-02-22 20:40:06 -05:00
Bill Burke 273e706a42 undertow refresh token support 2014-02-22 17:24:04 -05:00
Bill Burke baa0e453b6 Merge remote-tracking branch 'upstream/master' 2014-02-21 17:37:29 -05:00
Bill Burke 898fcf8fd5 Merge pull request #234 from mposolda/master
Fix testsuite with mongo. Fix RealmModel.get**ById(). Added new unit tests
2014-02-21 17:37:06 -05:00
Bill Burke 3b59bd92fc Merge remote-tracking branch 'upstream/master' 2014-02-21 17:37:00 -05:00
Bill Burke 0a9b82a6f4 refresh tokens server side 2014-02-21 17:36:39 -05:00
mposolda 8a4ef40e9e Added new unit tests. Change get***ById() to find just entities from this realm/application 2014-02-21 23:16:06 +01:00
mposolda e85c2c9826 Fix testsuite with Mongo 2014-02-21 23:16:06 +01:00
Bill Burke 15968e9783 Merge pull request #233 from patriot1burke/master
refactor token creation
2014-02-21 12:13:26 -05:00
Bill Burke 97dd7470ce rename tokenLifespan to accessTokenLifespan 2014-02-21 12:12:54 -05:00
Bill Burke e583dc60ae Merge remote-tracking branch 'upstream/master' 2014-02-21 12:02:36 -05:00
Bill Burke 9607acdb6a refactor token creation 2014-02-21 12:02:24 -05:00
Stian Thorgersen 0ee71b09cd Merge pull request #232 from stianst/master
KEYCLOAK-286 Allow login with username or email. KEYCLOAK-287 Remove recover username as we now support login with email
2014-02-21 15:28:39 +00:00
Stian Thorgersen 05bd92d765 KEYCLOAK-286 Allow login with username or email. KEYCLOAK-287 Remove recover username as we now support login with email 2014-02-21 15:25:55 +00:00
Bill Burke cd68462cf3 Merge pull request #231 from patriot1burke/master
rename same classes/attributes
2014-02-21 10:17:02 -05:00
Bill Burke 9442601e42 rename some classes 2014-02-21 10:16:12 -05:00
Bill Burke 4b1fc788cf Merge remote-tracking branch 'upstream/master' 2014-02-21 09:49:08 -05:00
Bill Burke 94d8dbeeee issuedFor has OpenID claim now 2014-02-21 09:48:48 -05:00
Stian Thorgersen 3cb7e7c1bf Merge pull request #230 from stianst/master
KEYCLOAK-284 Subject in token is now user id instead of username
2014-02-21 10:55:25 +00:00
Stian Thorgersen 9ce8e16063 KEYCLOAK-284 Subject in token is now user id instead of username 2014-02-21 09:48:43 +00:00
Stian Thorgersen c2ca1b2731 Merge pull request #227 from matzew/master
Remove outdated references to alpha-1
2014-02-21 09:46:29 +00:00
Stian Thorgersen d47bf103b0 Merge pull request #228 from cardosogabriel/master
Refinements in the logo
2014-02-21 09:46:08 +00:00
Bill Burke dfacae9beb Merge pull request #229 from patriot1burke/master
tokens/access/codes now uses basic auth
2014-02-20 17:20:06 -05:00
Bill Burke 6794166b58 tokens/access/codes now uses basic auth 2014-02-20 17:19:51 -05:00
Gabriel Cardoso 8583d35153 Refinements in the logo 2014-02-20 15:30:21 -03:00
Matthias Wessendorf 2cb37827a8 Remove outdated references to alpha-1 2014-02-20 12:20:40 +01:00
Bill Burke 158eec7999 Merge pull request #226 from patriot1burke/master
alpha 3 version bump
2014-02-19 23:22:53 -05:00
Bill Burke 00043423c2 alpha 3 version bump 2014-02-19 23:22:34 -05:00
Bill Burke 81ac1972b1 Merge pull request #225 from patriot1burke/master
version bump
2014-02-19 21:06:38 -05:00
Bill Burke 970a33191d subsystem-config.xml should be in preconfigured 2014-02-19 21:05:55 -05:00
Bill Burke 27f61a9f86 bump version 2014-02-19 21:01:42 -05:00
Bill Burke d5909036e5 Merge pull request #224 from mposolda/master
Update docs about supported RDBMS and MongoDB. Few improvements in distribution
2014-02-19 12:02:27 -05:00
mposolda 5e0c16a3e2 KEYCLOAK-321 Allow distribution to use MongoDB model 2014-02-19 17:43:27 +01:00
mposolda 864362f8a2 Added docs section about tested databases 2014-02-19 17:43:27 +01:00
mposolda 9c5cd352cc KEYCLOAK-319 Use keycloak-ds.xml just in WAR distribution 2014-02-19 17:43:27 +01:00
Stian Thorgersen 240dcaa30e Merge pull request #223 from stianst/master
KEYCLOAK-298 If admin or accnt mngmt cookies are invalid, the identity cookie was expired by mistake
2014-02-19 11:15:38 +00:00
Stian Thorgersen e9750c3d70 KEYCLOAK-298 If admin or accnt mngmt cookies are invalid, the identity cookie was expired by mistake 2014-02-19 11:12:59 +00:00
Stian Thorgersen 249aa0177b Merge pull request #221 from mposolda/master
KEYCLOAK-302 Ensure that all tables and columns have maximum length 30 c...
2014-02-19 09:07:15 +00:00
Bill Burke 01c1eed510 Merge pull request #222 from patriot1burke/master
theme distro/docs
2014-02-18 19:00:09 -05:00
Bill Burke 88f7575037 theme distro/docs 2014-02-18 18:59:50 -05:00
Bill Burke 138c5a9e4c Merge pull request #220 from patriot1burke/master
minor improvements
2014-02-18 15:31:00 -05:00
Bill Burke 0f9d0368fe minor improvements 2014-02-18 15:30:32 -05:00
mposolda 02db44cd96 KEYCLOAK-302 Ensure that all tables and columns have maximum length 30 characters 2014-02-18 20:58:40 +01:00
Stian Thorgersen 97f1bbe1a3 Merge pull request #219 from stianst/master
Basic html example
2014-02-18 16:28:35 +00:00
Stian Thorgersen 5f3a19019e Added basic js example 2014-02-18 16:27:47 +00:00
Stian Thorgersen a130120014 Updated js lib to use 'secret' instead of 'password' 2014-02-18 16:27:31 +00:00
Stian Thorgersen e28e1d8b00 Merge pull request #217 from mposolda/master
Use UUID for generation of IDs. Have keycloak working with mysql and postgresql
2014-02-18 10:48:20 +00:00
Stian Thorgersen ee3761ab5d Merge pull request #218 from stianst/master
Minor updates to docs
2014-02-18 10:38:13 +00:00
Stian Thorgersen 7a8b5587d7 Minor updates to docs 2014-02-18 10:36:58 +00:00
mposolda cec57b169e Fix all tests with MySQL. Removing nested transactions 2014-02-18 11:22:19 +01:00
mposolda 1375e72cf7 KEYCLOAK-289 Refactoring to use UUID instead of autogenerated ID in JPA model 2014-02-17 18:23:14 +01:00
mposolda e908426870 Skip autogeneration of ID in mongo model 2014-02-17 18:23:14 +01:00
mposolda 5578e3b6f3 Added profiles for MySQL and PostgreSQL. Added support for overriding hibernate config with System properties 2014-02-17 18:23:14 +01:00
Stian Thorgersen cbb6ec8b2c Merge pull request #216 from stianst/master
KEYCLOAK-293 Fix generate new keys
2014-02-17 15:55:01 +00:00
Stian Thorgersen 36515509c6 KEYCLOAK-293 Fix generate new keys 2014-02-17 15:54:24 +00:00
Stian Thorgersen 50d0f2f3b2 Merge pull request #215 from stianst/master
KEYCLOAK-297 Fixed invalid state param when loggin to admin acct mngmt
2014-02-17 15:15:13 +00:00
Stian Thorgersen 325919e24a KEYCLOAK-297 Fixed invalid state param when loggin to admin acct mngmt 2014-02-17 15:14:11 +00:00
Stian Thorgersen b8cf83c3cf Added app name to 'back to app' link in acct mngmt 2014-02-17 14:51:32 +00:00
Stian Thorgersen 695eb05d66 Added a SSO test 2014-02-17 14:32:02 +00:00
Stian Thorgersen dbbbfde409 Merge pull request #212 from mposolda/jdk8-mongo
Fix compilation with JDK8. Minor polishing in mongo model
2014-02-17 12:21:03 +00:00
Stian Thorgersen 4bb54cdb78 Merge pull request #214 from stianst/master
Theme updates
2014-02-17 12:20:50 +00:00
Stian Thorgersen 0f3b836005 Updated account themes to use patternfly 2014-02-17 12:17:06 +00:00
Stian Thorgersen 3342729da8 Added priority to theme loaders to guarantee order 2014-02-17 09:55:32 +00:00
Bill Burke 81a90232d6 Merge pull request #213 from patriot1burke/master
oauth client generates secret
2014-02-14 17:46:09 -05:00
Bill Burke b518fa2f4b oauth client generates secret 2014-02-14 17:45:46 -05:00
mposolda 2371960e33 Fix compilation with JDK8. Minor polishing in mongo model 2014-02-14 22:16:24 +01:00
Stian Thorgersen dec86fc6fe Fix 2014-02-14 17:46:25 +00:00
Stian Thorgersen 4d9ee640a1 Merge pull request #211 from stianst/forms-patternfly
Updated login forms to use Patternfly styles
2014-02-14 17:44:20 +00:00
Stian Thorgersen 01bb835285 Updated login forms to use Patternfly styles 2014-02-14 17:38:04 +00:00
Bill Burke e35c251440 Merge pull request #210 from patriot1burke/master
small blurb on composites
2014-02-14 11:31:17 -05:00
Bill Burke 4dfe1beeea small blurb on composites 2014-02-14 11:30:56 -05:00
Bill Burke c3666b854d Merge pull request #209 from patriot1burke/master
docbook updates for adapter
2014-02-14 09:51:20 -05:00
Bill Burke a793ad3505 docbook updates for adapter 2014-02-14 09:50:49 -05:00
Bill Burke 347e230227 Merge pull request #208 from patriot1burke/master
fix demo doc
2014-02-14 08:43:29 -05:00
Bill Burke 87ec1e53bf fix demo doc 2014-02-14 08:42:44 -05:00
Bill Burke 42ef150883 Merge pull request #207 from patriot1burke/master
use secrets
2014-02-13 18:37:37 -05:00
Bill Burke 0cdd5e857e use secrets 2014-02-13 18:36:41 -05:00
Bill Burke f66060e1be Merge pull request #206 from patriot1burke/master
more subsystem work
2014-02-13 10:48:07 -05:00
Stian Thorgersen f443d75812 Merge pull request #205 from vrockai/FORMS3
KEYCLOAK-283 role forms fixes
2014-02-13 15:45:18 +00:00
Bill Burke bc1f635779 Merge remote-tracking branch 'upstream/master' 2014-02-13 10:44:38 -05:00
Bill Burke 9390e90b85 more subsystem work 2014-02-13 10:43:29 -05:00
Viliam Rockai 7bfbf69beb KEYCLOAK-283 role forms fixes 2014-02-13 16:23:54 +01:00
Stian Thorgersen 3601b6779b Merge pull request #201 from bstansberry/pom-fix
Fix relative-path in poms
2014-02-13 13:24:11 +00:00
Stian Thorgersen 218fbbaddc Merge pull request #203 from stianst/FORMS2
KEYCLOAK-277 Use styles from RCUE project
2014-02-13 13:20:38 +00:00
Stian Thorgersen 2ce0a06b51 Minor fixes and tweaks to admin console 2014-02-13 13:18:49 +00:00
Stian Thorgersen ad98bdc59c Added KC color scheme to header 2014-02-13 09:15:02 +00:00
Viliam Rockai c45cfd008f finishing touch commit 2014-02-13 09:15:02 +00:00
Viliam Rockai 8886c9a797 removing unused bootstrap stuff 2014-02-13 09:15:02 +00:00
Viliam Rockai 61c4a9b359 mock page update 2014-02-13 09:15:02 +00:00
Viliam Rockai f1a306cdb2 removing unused stuff 2014-02-13 09:15:02 +00:00
Viliam Rockai e6aa1979ee finished 1st round of refactoring 2014-02-13 09:15:02 +00:00
Viliam Rockai 73d5ccc099 more pages refactored 2014-02-13 09:15:02 +00:00
Viliam Rockai 586e295ec4 realm refactoring finished 2014-02-13 09:15:02 +00:00
Viliam Rockai 56e572a9a6 more refactoring done 2014-02-13 09:15:01 +00:00
Viliam Rockai 9e075e19f4 component lib cleanup 2014-02-13 09:15:01 +00:00
Viliam Rockai 85bdc38ab8 Realm pages refactoring 2014-02-13 09:15:01 +00:00
Viliam Rockai c382676bc3 KC console on PatternFly init 2014-02-13 09:15:01 +00:00
Brian Stansberry 9e54781b9d Fix relative-path in poms 2014-02-12 17:44:13 -06:00
Bill Burke 4c71eeb627 Merge pull request #200 from patriot1burke/master
subsystem work
2014-02-11 21:31:52 -05:00
Bill Burke b39ef41e3e Merge remote-tracking branch 'upstream/master' 2014-02-11 21:21:20 -05:00
Bill Burke 93ef2d6fd3 as7/wildfly subsystem 2014-02-11 21:20:34 -05:00
Bill Burke 3ab4e2159a Merge pull request #199 from mposolda/mongo
Mongo based model and model/tests module
2014-02-11 14:44:50 -05:00
mposolda b9ff73d61c Moved model unit tests from services to model/tests . Mongo profile in testsuite 2014-02-11 18:26:50 +01:00
mposolda b3f1032f96 Mongo: Refactoring. All unit tests and testsuite are passing with Mongo. 2014-02-11 18:25:57 +01:00
mposolda 81ff7b0c6d Refactoring Mongo model. All unit tests passing with mongo 2014-02-11 15:23:30 +01:00
Bill Burke f54e041070 Merge pull request #198 from patriot1burke/master
as7/eap subsystem
2014-02-10 19:03:15 -05:00
Bill Burke d35861e33d stuff 2014-02-10 19:02:55 -05:00
Bill Burke f04e7511a7 as7/eap subsystem 2014-02-10 18:58:23 -05:00
Stian Thorgersen 564223b30a Fix test 2014-02-09 15:54:52 +00:00
Stian Thorgersen 626ec6e196 Fix sign-out button in accnt mngmt not working after saving form 2014-02-07 17:27:33 +00:00
Stian Thorgersen 5ff965c7b7 Fixes to login forms 2014-02-07 17:23:13 +00:00
Stian Thorgersen a89a1d524c KEYCLOAK-288 Check if totp setup or email verification is required on social login 2014-02-07 16:13:53 +00:00
Stian Thorgersen b1ebf237de KEYCLOAK-10 Added JS library 2014-02-07 13:56:13 +00:00
Bill Burke 7230f15f69 Merge pull request #197 from patriot1burke/master
subsystem distro and small fix
2014-02-05 20:50:41 -05:00
Bill Burke 54b72caf07 subsystem distro and small fix 2014-02-05 20:50:11 -05:00
Bill Burke 14a8f56b75 Merge pull request #196 from patriot1burke/master
move and rename subsystem
2014-02-05 17:35:52 -05:00
Bill Burke da2b3d179e move and rename subsystem 2014-02-05 17:35:27 -05:00
Stian Thorgersen feccfb8c2f Added svg for login bkgrnd 2014-02-05 22:12:53 +00:00
Stian Thorgersen 5994b0dc13 Reduced number of stylesheets in rcue 2014-02-05 22:10:38 +00:00
Stian Thorgersen 714b2ecb0e Updated login form bkgrnd 2014-02-05 22:05:44 +00:00
Stian Thorgersen ecf371ce78 Merge pull request #195 from vrockai/FORMS2
Redesign of the Login form L&F
2014-02-05 16:31:20 +00:00
Viliam Rockai 629cf94fc9 Redesign of the Login form L&F 2014-02-05 17:17:51 +01:00
Stian Thorgersen 85de070a1c Clean-up 2014-02-05 15:47:41 +00:00
Stian Thorgersen 455aca9dc0 Only display social logins on main login page 2014-02-05 15:47:41 +00:00
Bill Burke 48b3b9a7fc Merge pull request #190 from matzew/clean-up
Clean up
2014-02-05 10:34:01 -05:00
Bill Burke 9ac4cdf362 Merge pull request #193 from vrockai/FORMS2
Forms refactoring
2014-02-05 10:29:14 -05:00
Bill Burke 127ee40f23 Merge pull request #194 from patriot1burke/master
composite switch
2014-02-05 10:28:41 -05:00
Bill Burke cce8814254 composite switch 2014-02-05 10:28:11 -05:00
Viliam Rockai a22b151210 KEYCLOAK-282 moving strings into RBundle 2014-02-05 16:04:26 +01:00
Stian Thorgersen 722f7c8840 KEYCLOAK-272 Improved user credential management, including option to send user password reset email from admin console 2014-02-05 14:43:48 +00:00
Matthias Wessendorf bffc8e1b77 Making those classes final that only have one private ctor, which means you can not inherit from them anyways 2014-02-05 14:49:34 +01:00
Matthias Wessendorf 2c349b757f removing unused imports and code that is commented out; looks like was add by accident 2014-02-05 14:49:34 +01:00
Viliam Rockai 1cebe99774 KEYCLOAK-282 Login forms HTML refactoring 2014-02-05 14:31:03 +01:00
Stian Thorgersen 457853aa28 KEYCLOAK-233 Add referrer query parm to manage app link in admin console to display back to app link 2014-02-05 11:31:18 +00:00
Stian Thorgersen d6ca1c566b Added GitHub provider to server war 2014-02-05 11:14:18 +00:00
Stian Thorgersen 8b5fbe92d6 Added GitHub provider. Simplified FaceBook provider 2014-02-05 10:55:52 +00:00
Bill Burke 2ad873a87f Merge pull request #192 from patriot1burke/master
remove setComposite
2014-02-04 15:42:00 -08:00
Bill Burke d2ad6349ba remove setComposite 2014-02-04 18:41:36 -05:00
Bill Burke 84e6fcf185 Merge pull request #191 from patriot1burke/master
composite tests and fix distro
2014-02-04 09:03:15 -08:00
Bill Burke 7c190e40ee fix demo 2014-02-04 12:02:09 -05:00
stianst b5ee2ae079 Merge pull request #187 from Jiri-Kremser/master
docs: fixing a typo ("..metadata for for a set .."); listed adapters were all the same
2014-02-04 07:11:25 -08:00
Bill Burke 4e66a3bf81 Merge remote-tracking branch 'upstream/master' 2014-02-04 10:09:25 -05:00
Bill Burke 92091d9474 composite tests 2014-02-04 10:09:09 -05:00
Bill Burke 804f4d285d Merge pull request #189 from matzew/master
Removing unused private method
2014-02-04 07:07:32 -08:00
Matthias Wessendorf 965a42d462 Removing unused private method 2014-02-04 15:54:08 +01:00
Stian Thorgersen 1d403c6f3f Added documentation for themes 2014-02-04 14:46:51 +00:00
Stian Thorgersen a667d0c5f5 Changed header for account management to Keycloak Account Management. Was Keycloak Central Login 2014-02-04 14:46:34 +00:00
Stian Thorgersen e85a43c354 Changed title and header for admin console to Keycloak Admin Console. Was Keycloak and Keycloak Central Login 2014-02-04 14:46:06 +00:00
Stian Thorgersen 4c22a8c92b Renamed login forms provider classes 2014-02-04 14:45:11 +00:00
Stian Thorgersen 97897cab1d KEYCLOAK-15 Customize login and registration forms 2014-02-04 11:45:24 +00:00
Stian Thorgersen 38b7dcdf7d Fixes to persistence.xml for distribution 2014-02-04 11:44:02 +00:00
Bill Burke 09d88c7065 Merge pull request #188 from patriot1burke/master
composite representations
2014-02-03 14:22:41 -08:00
Bill Burke 8505cc612a composite representations 2014-02-03 17:21:56 -05:00
Jirka Kremser 75b6d3067a docs: fixing a typo ("..metadata for for a set .."); listed adapters were all the same 2014-02-03 15:28:05 +01:00
Bill Burke 413defa485 Merge pull request #185 from mposolda/master
Fix the location of PasswordPolicyTest
2014-01-31 18:42:16 -08:00
Bill Burke 1d2d4da7ff Merge pull request #186 from patriot1burke/master
composite UI
2014-01-31 18:41:40 -08:00
Bill Burke e222240282 composite UI 2014-01-31 21:39:54 -05:00
mposolda cd42ede612 Fix the location of PasswordPolicyTest 2014-01-31 15:07:00 +01:00
Bill Burke b7d5830c7c Merge pull request #184 from patriot1burke/master
composite roles backend
2014-01-30 17:36:34 -08:00
Bill Burke 1cbe3596b4 Merge remote-tracking branch 'upstream/master' 2014-01-30 20:32:11 -05:00
Bill Burke 1543963c9f composite tests 2014-01-30 20:31:44 -05:00
Bill Burke 9ba6784424 Merge pull request #179 from matzew/Base64
clean up: using Base64 class as dependency
2014-01-30 07:50:11 -08:00
Bill Burke 097c607534 Merge pull request #183 from ssilvert/subsystem-clean
KEYCLOAK-274 Create Keycloak subsystem
2014-01-30 07:49:50 -08:00
Bill Burke 0e4e0cda3c Merge pull request #180 from matzew/UtilCleanUp
some minor util class clean-up
2014-01-30 07:48:04 -08:00
Bill Burke 4869b32c5f Merge pull request #182 from kpiwko/doc_updates
Adding EAP6 notes to documentation section 3.3.2
2014-01-30 07:47:38 -08:00
Stan Silvert c7112dc19f KEYCLOAK-274 Compact JSON String. Get resource name from DMR. 2014-01-30 09:05:27 -05:00
Karel Piwko ac6ed6c020 Adding EAP6 notes to documentation section 3.3.2 2014-01-30 13:04:21 +01:00
stianst dbea70dc2c Merge pull request #181 from matzew/Docs-typo
Updating documentation URL link
2014-01-30 03:11:32 -08:00
Matthias Wessendorf ca8deb6f53 Updating documentation URL link 2014-01-30 12:02:04 +01:00
Bill Burke 6a5994c3e2 composite roles 2 2014-01-29 23:28:08 -05:00
Bill Burke bb5991239b composite roles 2014-01-29 20:19:32 -05:00
Stan Silvert c81a08385f KEYCLOAK-274 Create Keycloak subsystem 2014-01-29 18:52:31 -05:00
Matthias Wessendorf 2efcb95fd6 some minor util class clean-up, to prevent instanciation of util classes 2014-01-28 14:30:22 +01:00
Matthias Wessendorf 463a04f0a2 Using the net.iharder.Base64 dependency JAR instead of a copied class 2014-01-27 15:05:48 +01:00
Bill Burke 41d631d20e Merge pull request #171 from abstractj/password
Add PBKDF2 encoder support for storing passwords
2014-01-27 05:39:24 -08:00
Bill Burke 1c1bff733d Merge pull request #178 from matzew/master
status code clean ups
2014-01-27 05:25:09 -08:00
Matthias Wessendorf ab6c46b8af Sending 401 instead of 200 2014-01-27 12:39:48 +01:00
Matthias Wessendorf 55388319cc Instead of using hardcoded number, using proper constant/enum values 2014-01-27 12:37:40 +01:00
Stian Thorgersen 544de16aad KEYCLOAK-271 Check password policy when recovering password through email 2014-01-25 00:36:26 -02:00
Stian Thorgersen 5160f02475 KEYCLOAK-271 Improvements to password policies in admin console 2014-01-25 00:36:26 -02:00
Gunnar Morling 427a30f644 Fixing typo 2014-01-25 00:36:26 -02:00
Stian Thorgersen 32a9a3c108 Fix section header for openshift doc 2014-01-25 00:36:26 -02:00
Stian Thorgersen b3a216de9e Set version to 1.0-alpha-2-SNAPSHOT 2014-01-25 00:36:26 -02:00
Bill Burke 01ef5c1020 last example dist fix 2014-01-25 00:36:26 -02:00
Bill Burke d6d711cd61 example dist fixes 2014-01-25 00:36:26 -02:00
Bill Burke 9db0bd6170 distro fixes 2014-01-25 00:36:25 -02:00
Bill Burke abd7487b7f dist 2014-01-25 00:36:25 -02:00
stianst 3e15747836 Merge pull request #177 from stianst/master
Fixes to password policy
2014-01-24 06:55:15 -08:00
Stian Thorgersen 06c3a6ea30 KEYCLOAK-271 Check password policy when recovering password through email 2014-01-24 14:48:58 +00:00
Stian Thorgersen 57b9a0e39e KEYCLOAK-271 Improvements to password policies in admin console 2014-01-24 14:48:58 +00:00
stianst 203d42b2b5 Merge pull request #176 from gunnarmorling/master
Fixing typo
2014-01-24 04:39:07 -08:00
Gunnar Morling bb135adbfd Fixing typo 2014-01-24 12:49:33 +01:00
Stian Thorgersen 9bad8ad8b0 Fix section header for openshift doc 2014-01-24 09:35:47 +00:00
Stian Thorgersen 4cb98a3aa4 Set version to 1.0-alpha-2-SNAPSHOT 2014-01-24 09:34:54 +00:00
Bruno Oliveira 4a53116f2e Add PBKDF2 encoder support for storing passwords 2014-01-22 10:44:26 -02:00
1939 changed files with 290422 additions and 163228 deletions

No files matched your search

+32 -1
View File
@@ -1,4 +1,35 @@
keycloak
========
SSO Service for web apps and REST services.
Please visit [http://keycloak.org](http://keycloak.org) for more information on Keycloak including how to download, documentation,
and video tutorials.
Keycloak is an SSO Service for web apps and REST services.
It can be used for social applications as well as enterprise applications. It is based on OpenID Connect with SAML support in the works.
Here's some of the features:
* SSO and Single Log Out for browser applications
* Social Broker. Enable Google, Facebook, Yahoo, Twitter social login with no code required.
* Optional LDAP/Active Directory integration
* Optional User Registration
* Password and TOTP support (via Google Authenticator). Client cert auth coming soon.
* User session management from both admin and user perspective
* Customizable themes for user facing pages: login, grant pages, account management, emails, and admin console all customizable!
* OAuth Bearer token auth for REST Services
* Integrated Browser App to REST Service token propagation
* Admin REST API
* OAuth 2.0 Grant requests
* CORS Support
* CORS Web Origin management and validation
* Completely centrally managed user and role mapping metadata. Minimal configuration at the application side
* Admin Console for managing users, roles, role mappings, applications, user sessions, allowed CORS web origins, and OAuth clients.
* Deployable as a WAR, appliance, or an Openshift cloud service (SaaS).
* Supports JBoss AS7, EAP 6.x, and Wildfly applications. Plans to support Node.js, RAILS, GRAILS, and other non-Java applications.
* Javascript/HTML 5 adapter for pure Javascript apps
* Session management from admin console
* Revocation policies
* Password policies
* OpenID Connect Support
Please visit [http://keycloak.org](http://keycloak.org) for more information on Keycloak including how to download, documentation,
and video tutorials.
-31
View File
@@ -1,31 +0,0 @@
<?xml version="1.0"?>
<project>
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.0-alpha-1</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>keycloak-admin-ui-styles</artifactId>
<name>Keycloak Admin UI Styles</name>
<description />
<dependencies>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
@@ -1,185 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>My application - Settings</title>
<link rel="icon" href="img/favicon.ico">
<!-- Frameworks -->
<link rel="stylesheet" href="css/reset.css">
<link rel="stylesheet" href="bootstrap-3.0.0-wip/css/bootstrap.css">
<link rel="stylesheet" href="css/sprites.css">
<link rel="stylesheet" href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic'>
<!-- RCUE styles -->
<link rel="stylesheet" href="css/base.css">
<link rel="stylesheet" href="css/forms.css">
<link rel="stylesheet" href="css/header.css">
<link rel="stylesheet" href="css/tabs.css">
<link rel="stylesheet" href="css/icons.css">
<!-- Page styles -->
<link rel="stylesheet" href="css/admin-console.css">
<!-- JS -->
<script src="js/jquery-1.10.1.min.js"></script>
<script src="bootstrap-3.0.0-wip/js/dropdown.js"></script>
<script src="bootstrap-3.0.0-wip/js/tooltip.js"></script>
<script src="js/bootstrap-tokenfield.js"></script>
<script src="js/base.js"></script>
</head>
<body class="admin-console">
<div class="header rcue">
<div class="navbar utility">
<div class="navbar-inner clearfix">
<h1><a href="#"><strong>Keycloak</strong> Central Login</a></h1>
<ul class="nav pull-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="icon-user">Icon: user</span>Brian Stevens<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Account</a></li>
<li class="separator"><a href="saas-login.html">Log Out</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="navbar primary">
<div class="navbar-inner">
<ul class="nav">
<li><a href="#">Overview</a></li>
<li class="active"><a href="#">Applications</a></li>
<li><a href="realm-users.html">Realms</a></li>
</ul>
</div>
</div>
</div><!-- End .header -->
<div class="container">
<div class="row">
<div class="bs-sidebar col-md-3 clearfix">
<ul>
<li class="active"><a href="#">My application</a></li>
<li><a href="#">Another application</a></li>
</ul>
</div>
<div id="content-area" class="col-md-9" role="main">
<div class="top-nav">
<ul class="rcue-tabs">
<li class="active"><a href="#">Settings</a></li>
<li><a href="#">Users and Roles</a></li>
</ul>
</div>
<div id="content">
<h2 class="pull-left"><span>My application</span> Settings</h2>
<p class="subtitle"><span class="required">*</span> Required fields</p>
<form>
<fieldset>
<legend><span class="icon-collapse toggle-icons">Icon: collapse</span><span class="text">Application Options</span></legend>
<div class="form-group">
<label for="app-name">Application Name</label><span class="required">*</span>
<input type="text" id="app-name" autofocus>
</div>
<div class="form-group">
<label for="credentials">Credentials</label>
<div class="input-group">
<input type="text" readonly="readonly" value="X89K-JIEO-EUI0-8EU8" class="form-control code" id="credentials">
<span class="input-group-btn">
<button type="button">Copy</button>
</span>
</div>
</div>
<div class="form-group">
<label for="applicationForm-adminUrl">Redirect UI</label>
<input type="text" id="applicationForm-adminUrl">
</div>
<div class="form-group clearfix">
<label for="user-registration">User Registration</label>
<div class="onoffswitch">
<input type="checkbox" checked="" class="onoffswitch-checkbox" name="onoffswitch" id="user-registration">
<label for="user-registration" class="onoffswitch-label">
<span class="onoffswitch-inner">
<span class="onoffswitch-active">ON</span>
<span class="onoffswitch-inactive">OFF</span>
</span>
<span class="onoffswitch-switch"></span>
</label>
</div>
</div>
</fieldset>
<fieldset>
<legend><span class="icon-collapse toggle-icons">Icon: collapse</span><span class="text">Realm Options</span><span class="icon-info tooltipRightTrigger" data-original-title="Realm options are shared between the applications associated to it.">Realm options are shared between the applications associated to it.</span></legend>
<div class="form-group clearfix block">
<label for="password">Password Recovery</label>
<div class="onoffswitch">
<input type="checkbox" checked="" class="onoffswitch-checkbox" name="onoffswitch" id="password">
<label for="password" class="onoffswitch-label">
<span class="onoffswitch-inner">
<span class="onoffswitch-active">ON</span>
<span class="onoffswitch-inactive">OFF</span>
</span>
<span class="onoffswitch-switch"></span>
</label>
</div>
</div>
<div class="form-group clearfix">
<label for="social-login">Social Login</label>
<div class="onoffswitch">
<input type="checkbox" checked="" class="onoffswitch-checkbox" name="onoffswitch" id="social-login">
<label for="social-login" class="onoffswitch-label">
<span class="onoffswitch-inner">
<span class="onoffswitch-active">ON</span>
<span class="onoffswitch-inactive">OFF</span>
</span>
<span class="onoffswitch-switch"></span>
</label>
</div>
</div>
</fieldset>
<fieldset>
<legend><span class="icon-expand toggle-icons">Icon: expand</span><span class="text">Realm Advanced Options</span></legend>
<div class="form-group input-select hidden">
<label for="token">Token Expiration</label>
<div class="input-group">
<input type="text" placeholder="n" id="token" class="tiny">
<div class="select-rcue">
<select>
<option selected="selected">Seconds</option>
<option>Minutes</option>
<option>Hours</option>
<option>Days</option>
</select>
</div>
</div>
</div>
<div class="form-group clearfix hidden">
<label for="roles">Roles</label>
<input type="text" class="form-control tokenfield" id="roles" placeholder="Type a role and enter" />
</div>
<div class="form-group hidden">
<label for="default-roles" class="two-lines">Default Initial User Roles</label>
<div class="select-rcue">
<select id="default-roles">
<option selected="selected">KEYCLOAK_RESOURCE</option>
</select>
</div>
</div>
</fieldset>
<div>
<a class="bottom" href="#">Manage Users and Roles</a>
</div>
<div class="form-actions">
<button type="submit" class="primary">Save</button>
<button type="submit">Cancel</button>
</div>
</form>
</div>
</div>
<div id="container-right-bg"></div>
</div>
</div>
</body>
</html>
@@ -1,11 +0,0 @@
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
@@ -1,44 +0,0 @@
# Ignore compiled docs
_gh_pages
_site
# Numerous always-ignore extensions
*.diff
*.err
*.orig
*.log
*.rej
*.swo
*.swp
*.zip
*.vi
*~
*.sass-cache
*.ruby-version
# OS or Editor folders
.DS_Store
._*
Thumbs.db
.cache
.project
.settings
.tmproj
*.esproj
nbproject
*.sublime-project
*.sublime-workspace
# Komodo
*.komodoproject
.komodotools
# grunt-html-validation
validation-staus.json
# Folders to ignore
.hg
.svn
.CVS
.idea
node_modules
@@ -1,11 +0,0 @@
language: node_js
node_js:
- 0.8
before_script:
- gem install jekyll
- npm install -g grunt-cli
env:
global:
- secure: Besg41eyU+2mfxrywQ4ydOShMdc34ImaO0S0ENP+aCOBuyNBIgP59wy5tBMmyai2/8eInYeVps4Td96mWInMMxzTe3Bar7eTLG5tWVKRSr/wc4NBPZ/ppoPAmCEsz9Y+VptRH9/FO8n7hsL9EFZ+xBKbG+C0SccGoyBDpA5j7/w=
- secure: Ptiv7phCImFP3ALIz+sMQzrZg8k7C1gLZbFBhWxjnQr3g06wIfX3Ls5y9OHvxid+lOZZjISui3wzBVgpVHqwHUYf96+r0mo6/mJ+F4ffUmShZANVaIMD/JRTnXhUQJbvntGLvxn1EYWPdNM+2IHJrMipnjHxU9tkgAnlel4Zdew=
- TWBS_HAVE_OWN_BROWSERSTACK_KEY: ""
@@ -1,66 +0,0 @@
# Contributing to Bootstrap
Looking to contribute something to Bootstrap? **Here's how you can help.**
## Reporting issues
We only accept issues that are bug reports or feature requests. Bugs must be isolated and reproducible problems that we can fix within the Bootstrap core. Please read the following guidelines before opening any issue.
1. **Search for existing issues.** We get a lot of duplicate issues, and you'd help us out a lot by first checking if someone else has reported the same issue. Moreover, the issue may have already been resolved with a fix available.
2. **Create an isolated and reproducible test case.** Be sure the problem exists in Bootstrap's code with a [reduced test case](http://css-tricks.com/reduced-test-cases/) that should be included in each bug report.
3. **Include a live example.** Make use of jsFiddle or jsBin to share your isolated test cases.
4. **Share as much information as possible.** Include operating system and version, browser and version, version of Bootstrap, customized or vanilla build, etc. where appropriate. Also include steps to reproduce the bug.
## Key branches
- `master` is the latest, deployed version.
- `gh-pages` is the hosted docs (not to be used for pull requests).
- `*-wip` is the official work in progress branch for the next release.
## Pull requests
- Try to submit pull requests against the latest `*-wip` branch for easier merging
- CSS changes must be done in .less files first, never just the compiled files
- If modifying the .less files, always recompile and commit the compiled files bootstrap.css and bootstrap.min.css
- Try not to pollute your pull request with unintended changes--keep them simple and small
- Try to share which browsers your code has been tested in before submitting a pull request
## Coding standards
### HTML
- Two spaces for indentation, never tabs
- Double quotes only, never single quotes
- Always use proper indentation
- Use tags and elements appropriate for an HTML5 doctype (e.g., self-closing tags)
### CSS
- Adhere to the [Recess CSS property order](http://markdotto.com/2011/11/29/css-property-order/)
- Multiple-line approach (one property and value per line)
- Always a space after a property's colon (.e.g, `display: block;` and not `display:block;`)
- End all lines with a semi-colon
- For multiple, comma-separated selectors, place each selector on its own line
- Attribute selectors, like `input[type="text"]` should always wrap the attribute's value in double quotes, for consistency and safety (see this [blog post on unquoted attribute values](http://mathiasbynens.be/notes/unquoted-attribute-values) that can lead to XSS attacks).
### JS
- No semicolons
- Comma first
- 2 spaces (no tabs)
- strict mode
- "Attractive"
## License
By contributing your code, you agree to license your contribution under the terms of the APLv2: https://github.com/twbs/bootstrap/blob/master/LICENSE
@@ -1,195 +0,0 @@
/* jshint node: true */
module.exports = function(grunt) {
"use strict";
// Project configuration.
grunt.initConfig({
// Metadata.
pkg: grunt.file.readJSON('package.json'),
banner: '/**\n' +
'* <%= pkg.name %>.js v<%= pkg.version %> by @fat and @mdo\n' +
'* Copyright <%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
'* <%= _.pluck(pkg.licenses, "url").join(", ") %>\n' +
'*/\n',
jqueryCheck: 'if (!jQuery) { throw new Error(\"Bootstrap requires jQuery\") }\n\n',
// Task configuration.
clean: {
dist: ['dist']
},
jshint: {
options: {
jshintrc: 'js/.jshintrc'
},
gruntfile: {
src: 'Gruntfile.js'
},
src: {
src: ['js/*.js']
},
test: {
src: ['js/tests/unit/*.js']
}
},
concat: {
options: {
banner: '<%= banner %><%= jqueryCheck %>',
stripBanners: false
},
bootstrap: {
src: [
'js/transition.js',
'js/alert.js',
'js/button.js',
'js/carousel.js',
'js/collapse.js',
'js/dropdown.js',
'js/modal.js',
'js/tooltip.js',
'js/popover.js',
'js/scrollspy.js',
'js/tab.js',
'js/affix.js'
],
dest: 'dist/js/<%= pkg.name %>.js'
}
},
uglify: {
options: {
banner: '<%= banner %>'
},
bootstrap: {
src: ['<%= concat.bootstrap.dest %>'],
dest: 'dist/js/<%= pkg.name %>.min.js'
}
},
recess: {
options: {
compile: true
},
bootstrap: {
src: ['less/bootstrap.less'],
dest: 'dist/css/<%= pkg.name %>.css'
},
min: {
options: {
compress: true
},
src: ['less/bootstrap.less'],
dest: 'dist/css/<%= pkg.name %>.min.css'
}
},
qunit: {
options: {
inject: 'js/tests/unit/phantom.js'
},
files: ['js/tests/*.html']
},
connect: {
server: {
options: {
port: 3000,
base: '.'
}
}
},
jekyll: {
docs: {}
},
validation: {
options: {
reset: true,
},
files: {
src: ["_gh_pages/**/*.html"]
}
},
watch: {
src: {
files: '<%= jshint.src.src %>',
tasks: ['jshint:src', 'qunit']
},
test: {
files: '<%= jshint.test.src %>',
tasks: ['jshint:test', 'qunit']
},
recess: {
files: 'less/*.less',
tasks: ['recess']
}
}
});
// These plugins provide necessary tasks.
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-html-validation');
grunt.loadNpmTasks('grunt-jekyll');
grunt.loadNpmTasks('grunt-recess');
grunt.loadNpmTasks('browserstack-runner');
// Docs HTML validation task
grunt.registerTask('validate-docs', ['jekyll', 'validation']);
// Test task.
var testSubtasks = ['jshint', 'qunit', 'validate-docs'];
// Only run BrowserStack tests under Travis
if (process.env.TRAVIS) {
// Only run BrowserStack tests if this is a mainline commit in twbs/bootstrap, or you have your own BrowserStack key
if ((process.env.TRAVIS_REPO_SLUG === 'twbs/bootstrap' && process.env.TRAVIS_PULL_REQUEST === 'false') || process.env.TWBS_HAVE_OWN_BROWSERSTACK_KEY) {
testSubtasks.push('browserstack_runner');
}
}
grunt.registerTask('test', testSubtasks);
// JS distribution task.
grunt.registerTask('dist-js', ['concat', 'uglify']);
// CSS distribution task.
grunt.registerTask('dist-css', ['recess']);
// Full distribution task.
grunt.registerTask('dist', ['clean', 'dist-css', 'dist-js']);
// Default task.
grunt.registerTask('default', ['test', 'dist']);
// task for building customizer
grunt.registerTask('build-customizer', 'Add scripts/less files to customizer.', function () {
var fs = require('fs')
function getFiles(type) {
var files = {}
fs.readdirSync(type)
.filter(function (path) {
return new RegExp('\\.' + type + '$').test(path)
})
.forEach(function (path) {
return files[path] = fs.readFileSync(type + '/' + path, 'utf8')
})
return 'var __' + type + ' = ' + JSON.stringify(files) + '\n'
}
var customize = fs.readFileSync('customize.html', 'utf-8')
var files = '<!-- generated -->\n<script id="files">\n' + getFiles('js') + getFiles('less') + '<\/script>\n<!-- /generated -->'
fs.writeFileSync('customize.html', customize.replace(/<!-- generated -->(.|[\n\r])*<!-- \/generated -->/, files))
});
};
@@ -1,176 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
@@ -1,139 +0,0 @@
# [Bootstrap v3.0.0](http://getbootstrap.com) [![Build Status](https://secure.travis-ci.org/twbs/bootstrap.png)](http://travis-ci.org/twbs/bootstrap)
Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created and maintained by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat).
To get started, check out [http://getbootstrap.com](http://getbootstrap.com)!
## Quick start
Three quick start options are available:
* [Download the latest release](https://github.com/twbs/bootstrap/zipball/3.0.0-wip).
* Clone the repo: `git clone git://github.com/twbs/bootstrap.git`.
* Install with [Bower](http://bower.io): `bower install bootstrap`.
Read the [Getting Started page](http://getbootstrap.com/getting-started/) for information on the framework contents, templates and examples, and more.
## Bugs and feature requests
Have a bug or a feature request? [Please open a new issue](https://github.com/twbs/bootstrap/issues). Before opening any issue, please search for existing issues and read the [Issue Guidelines](https://github.com/necolas/issue-guidelines), written by [Nicolas Gallagher](https://github.com/necolas/).
## Documentation
Bootstrap's documentation, included in this repo in the root directory, is built with [Jekyll](http://jekyllrb.com) and publicly hosted on GitHub Pages at [http://getbootstrap.com](http://getbootstrap.com). The docs may also be run locally.
### Running documentation locally
1. If necessary, [install Jekyll](http://jekyllrb.com/docs/installation) (requires v1.x).
2. From the root `/bootstrap` directory, run `jekyll serve` in the command line.
- **Windows users:** run `chcp 65001` first to change the command prompt's character encoding ([code page](http://en.wikipedia.org/wiki/Windows_code_page)) to UTF-8 so Jekyll runs without errors.
3. Open [http://localhost:9001](http://localhost:9001) in your browser, and voilà.
Learn more about using Jekyll by reading their [documentation](http://jekyllrb.com/docs/home/).
### Documentation for previous releases
Documentation for v2.3.2 has been made available for the time being at [http://getbootstrap.com/2.3.2/](http://getbootstrap.com/2.3.2/) while folks transition to Bootstrap 3.
[Previous releases](https://github.com/twbs/bootstrap/releases) and their documentation are also available for download.
## Compiling CSS and JavaScript
Bootstrap uses [Grunt](http://gruntjs.com/) with convenient methods for working with the framework. It's how we compile our code, run tests, and more. To use it, install the required dependencies as directed and then run some Grunt commands.
### Install Grunt
From the command line:
1. Install `grunt-cli` globally with `npm install -g grunt-cli`.
2. Install the [necessary local dependencies](package.json) via `npm install`
When completed, you'll be able to run the various Grunt commands provided from the command line.
**Unfamiliar with `npm`? Don't have node installed?** That's a-okay. npm stands for [node packaged modules](http://npmjs.org/) and is a way to manage development dependencies through node.js. [Download and install node.js](http://nodejs.org/download/) before proceeding.
### Available Grunt commands
#### Build - `grunt`
Run `grunt` to run tests locally and compile the CSS and JavaScript into `/dist`. **Requires [recess](https://github.com/twitter/recess) and [uglify-js](https://github.com/mishoo/UglifyJS).**
#### Only compile CSS and JavaScript - `grunt dist`
`grunt dist` creates the `/dist` directory with compiled files. **Requires [recess](https://github.com/twitter/recess) and [uglify-js](https://github.com/mishoo/UglifyJS).**
#### Tests - `grunt test`
Runs jshint and qunit tests headlessly in [phantomjs](https://github.com/ariya/phantomjs/) (used for CI). **Requires [phantomjs](https://github.com/ariya/phantomjs/).**
#### Watch - `grunt watch`
This is a convenience method for watching just Less files and automatically building them whenever you save.
### Troubleshooting dependencies
Should you encounter problems with installing dependencies or running Grunt commands, uninstall all previous dependency versions (global and local). Then, rerun `npm install`.
## Contributing
Please read through our guidelines for contributing to Bootstrap. Included are directions for opening issues, coding standards, and notes on development.
More over, if your pull request contains JavaScript patches or features, you must include relevant unit tests. All HTML and CSS should conform to the [Code Guide](http://github.com/mdo/code-guide), maintained by [Mark Otto](http://github.com/mdo).
Editor preferences are available in the [editor config](.editorconfig) for easy use in common text editors. Read more and download plugins at [http://editorconfig.org](http://editorconfig.org).
## Community
Keep track of development and community news.
* Follow [@twbootstrap on Twitter](http://twitter.com/twbootstrap).
* Read and subscribe to the [The Official Bootstrap Blog](http://blog.getbootstrap.com).
* Have a question that's not a feature request or bug report? [Ask on the mailing list.](http://groups.google.com/group/twitter-bootstrap)
* Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##twitter-bootstrap` channel.
## Versioning
For transparency and insight into our release cycle, and for striving to maintain backward compatibility, Bootstrap will be maintained under the Semantic Versioning guidelines as much as possible.
Releases will be numbered with the following format:
`<major>.<minor>.<patch>`
And constructed with the following guidelines:
* Breaking backward compatibility bumps the major (and resets the minor and patch)
* New additions without breaking backward compatibility bumps the minor (and resets the patch)
* Bug fixes and misc changes bumps the patch
For more information on SemVer, please visit [http://semver.org/](http://semver.org/).
## Authors
**Mark Otto**
+ [http://twitter.com/mdo](http://twitter.com/mdo)
+ [http://github.com/mdo](http://github.com/mdo)
**Jacob Thornton**
+ [http://twitter.com/fat](http://twitter.com/fat)
+ [http://github.com/fat](http://github.com/fat)
## Copyright and license
Copyright 2012 Twitter, Inc under [the Apache 2.0 license](LICENSE).
@@ -1,25 +0,0 @@
# Dependencies
markdown: rdiscount
pygments: true
# Permalinks
permalink: pretty
# Server
destination: ./_gh_pages
exclude: [".editorconfig", ".gitignore", ".ruby-version", "bower.json", "composer.json", "CONTRIBUTING.md", "CNAME", "LICENSE", "Gruntfile.js", "package.json", "node_modules", "README.md", "less"]
port: 9001
# Custom vars
repo: https://github.com/twbs/bootstrap
download: https://github.com/twbs/bootstrap/archive/3.0.0-wip.zip
download_dist: http://getbootstrap.com/bs-v3.0.0-rc.2-dist.zip
glyphicons: http://glyphicons.getbootstrap.com
glyphicons_repo: https://github.com/twbs/bootstrap-glyphicons
blog: http://blog.getbootstrap.com
expo: http://expo.getbootstrap.com
cdn_css: //netdna.bootstrapcdn.com/bootstrap/3.0.0-wip/css/bootstrap.min.css
cdn_js: //netdna.bootstrapcdn.com/bootstrap/3.0.0-wip/js/bootstrap.min.js
@@ -1 +0,0 @@
<div id="carbonads-container"><div class="carbonad"><div id="azcarbon"></div><script>var z = document.createElement("script"); z.async = true; z.src = "http://engine.carbonads.com/z/32341/azcarbon_2_1_0_HORIZ"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(z, s);</script></div></div>
@@ -1,33 +0,0 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="{{ page.base_url }}assets/js/jquery.js"></script>
<script src="{{ page.base_url }}dist/js/bootstrap.js"></script>
<script src="http://platform.twitter.com/widgets.js"></script>
<script src="{{ page.base_url }}assets/js/holder.js"></script>
<script src="{{ page.base_url }}assets/js/application.js"></script>
{% if page.slug == "customize" %}
<script src="{{ page.base_url }}assets/js/less.js"></script>
<script src="{{ page.base_url }}assets/js/jszip.js"></script>
<script src="{{ page.base_url }}assets/js/uglify.js"></script>
<script src="{{ page.base_url }}assets/js/jquery.bbq.min.js"></script>
<script src="{{ page.base_url }}assets/js/customizer.js"></script>
{% endif %}
<!-- Analytics
================================================== -->
<script>
var _gauges = _gauges || [];
(function() {
var t = document.createElement('script');
t.async = true;
t.id = 'gauges-tracker';
t.setAttribute('data-site-id', '4f0dc9fef5a1f55508000013');
t.src = '//secure.gaug.es/track.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(t, s);
})();
</script>
@@ -1,43 +0,0 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>
{% if page.title == "Bootstrap" %}
{{ page.title }}
{% else if %}
{{ page.title }} &middot; Bootstrap
{% endif %}
</title>
<!-- Bootstrap core CSS -->
<link href="{{ page.base_url }}dist/css/bootstrap.css" rel="stylesheet">
<!-- Documentation extras -->
<link href="{{ page.base_url }}assets/css/docs.css" rel="stylesheet">
<link href="{{ page.base_url }}assets/css/pygments-manni.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="{{ page.base_url }}assets/js/html5shiv.js"></script>
<script src="{{ page.base_url }}assets/js/respond.min.js"></script>
<![endif]-->
<!-- Favicons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ page.base_url }}assets/ico/apple-touch-icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="{{ page.base_url }}assets/ico/apple-touch-icon-114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="{{ page.base_url }}assets/ico/apple-touch-icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed" href="{{ page.base_url }}assets/ico/apple-touch-icon-57-precomposed.png">
<link rel="shortcut icon" href="{{ page.base_url }}assets/ico/favicon.png">
<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-146052-10']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
@@ -1,135 +0,0 @@
<li>
<a href="#dropdowns">Dropdowns</a>
<ul class="nav">
<li><a href="#dropdowns-example">Example</a></li>
<li><a href="#dropdowns-alignment">Alignment options</a></li>
<li><a href="#dropdowns-headers">Headers</a></li>
<li><a href="#dropdowns-disabled">Disabled menu items</a></li>
</ul>
</li>
<li>
<a href="#btn-groups">Button groups</a>
<ul class="nav">
<li><a href="#btn-groups-single">Basic button group</a></li>
<li><a href="#btn-groups-toolbar">Button toolbar</a></li>
<li><a href="#btn-groups-sizing">Button group sizing</a></li>
<li><a href="#btn-groups-nested">Nested button groups</a></li>
<li><a href="#btn-groups-vertical">Vertical variation</a></li>
<li><a href="#btn-groups-justified">Justified link buttons</a></li>
</ul>
</li>
<li>
<a href="#btn-dropdowns">Button dropdowns</a>
<ul class="nav">
<li><a href="#btn-dropdowns-single">Single button dropdown</a></li>
<li><a href="#btn-dropdowns-split">Split button dropdown</a></li>
<li><a href="#btn-dropdowns-sizes">Button sizes</a></li>
<li><a href="#btn-dropdowns-dropup">Dropup variation</a></li>
</ul>
</li>
<li>
<a href="#input-groups">Input groups</a>
<ul class="nav">
<li><a href="#input-groups-basic">Basic input group</a></li>
<li><a href="#input-groups-sizes">Sizing options</a></li>
<li><a href="#input-groups-checkboxes-radios">Checkbox and radios addons</a></li>
<li><a href="#input-groups-buttons">Button addons</a></li>
<li><a href="#input-groups-buttons-dropdowns">Buttons with dropdowns</a></li>
<li><a href="#input-groups-buttons-segmented">Segmented buttons</a></li>
</ul>
</li>
<li>
<a href="#nav">Navs</a>
<ul class="nav">
<li><a href="#nav-tabs">Tabs nav</a></li>
<li><a href="#nav-pills">Pills nav</a></li>
<li><a href="#nav-justified">Justified nav</a></li>
<li><a href="#nav-disabled-links">Disabled links</a></li>
<li><a href="#nav-alignment">Alignment options</a></li>
<li><a href="#nav-dropdowns">Using dropdowns</a></li>
</ul>
</li>
<li>
<a href="#navbar">Navbar</a>
<ul class="nav">
<li><a href="#navbar-default">Default navbar</a></li>
<li><a href="#navbar-buttons">Buttons in navbars</a></li>
<li><a href="#navbar-text">Text in navbars</a></li>
<li><a href="#navbar-links">Links in navbars</a></li>
<li><a href="#navbar-component-alignment">Component alignment</a></li>
<li><a href="#navbar-fixed-top">Fixed top navbar</a></li>
<li><a href="#navbar-fixed-bottom">Fixed bottom navbar</a></li>
<li><a href="#navbar-static-top">Static top navbar</a></li>
<li><a href="#navbar-inverted">Inverted navbar</a></li>
</ul>
</li>
<li><a href="#breadcrumbs">Breadcrumbs</a></li>
<li>
<a href="#pagination">Pagination</a>
<ul class="nav">
<li><a href="#pagination-default">Default pagination</a></li>
<li><a href="#pagination-pager">Pager</a></li>
</ul>
</li>
<li><a href="#labels">Labels</a></li>
<li><a href="#badges">Badges</a></li>
<li>
<a href="#type-components">Typography</a>
<ul class="nav">
<li><a href="#type-components-jumbotron">Jumbotron</a></li>
<li><a href="#type-components-page-header">Page header</a></li>
</ul>
</li>
<li>
<a href="#thumbnails">Thumbnails</a>
<ul class="nav">
<li><a href="#thumbnails-default">Default thumbnails</a></li>
<li><a href="#thumbnails-custom-content">Custom content</a></li>
</ul>
</li>
<li>
<a href="#alerts">Alerts</a>
<ul class="nav">
<li><a href="#alerts-default">Default alert</a></li>
<li><a href="#alerts-alternatives">Contextual alternatives</a></li>
<li><a href="#alerts-dismissable">Dismissable alerts</a></li>
<li><a href="#alerts-links">Links in alerts</a></li>
</ul>
</li>
<li>
<a href="#progress">Progress bars</a>
<ul class="nav">
<li><a href="#progress-basic">Basic progress bar</a></li>
<li><a href="#progress-alternatives">Contextual alternatives</a></li>
<li><a href="#progress-striped">Striped</a></li>
<li><a href="#progress-animated">Animated</a></li>
<li><a href="#progress-stacked">Stacked</a></li>
</ul>
</li>
<li>
<a href="#media">Media object</a>
<ul class="nav">
<li><a href="#media-default">Default media</a></li>
<li><a href="#media-list">Media list</a></li>
</ul>
</li>
<li>
<a href="#list-group">List group</a>
<ul class="nav">
<li><a href="#list-group-basic">Basic list group</a></li>
<li><a href="#list-group-badges">Badges</a></li>
<li><a href="#list-group-linked">Linked items</a></li>
<li><a href="#list-group-custom-content">Custom content</a></li>
<!-- <li><a href="#list-group-pic">Leading picture</a></li> -->
</ul>
</li>
<li>
<a href="#panels">Panels</a>
<ul class="nav">
<li><a href="#panels-basic">Basic panel</a></li>
<li><a href="#panels-heading">Panel with heading</a></li>
<li><a href="#panels-alternatives">Contextual alternatives</a></li>
<li><a href="#panels-list-group">With list groups</a>
</ul>
</li>
<li><a href="#wells">Wells</a></li>
@@ -1,78 +0,0 @@
<li>
<a href="#overview">Overview</a>
<ul class="nav">
<li><a href="#overview-doctype">HTML5 doctype</a></li>
<li><a href="#overview-mobile">Mobile first</a></li>
<li><a href="#overview-responsive-images">Responsive images</a></li>
<li><a href="#overview-type-links">Type and links</a></li>
<li><a href="#overview-normalize">Normalize</a></li>
<li><a href="#overview-container">Container</a></li>
</ul>
</li>
<li>
<a href="#glyphicons">Glyphicons</a>
</li>
<li>
<a href="#grid">Grid system</a>
<ul class="nav">
<li><a href="#grid-media-queries">Media queries</a></li>
<li><a href="#grid-options">Available options</a></li>
<li><a href="#grid-example-basic">Ex: Stacked-to-horizonal</a></li>
<li><a href="#grid-example-mixed">Ex: Mobile-desktop</a></li>
<li><a href="#grid-example-mixed-complete">Ex: Mobile, tablet, desktop</a></li>
<li><a href="#grid-responsive-resets">Responsive column resets</a></li>
<li><a href="#grid-offsetting">Offset columns</a></li>
<li><a href="#grid-nesting">Nested columns</a></li>
<li><a href="#grid-column-ordering">Column ordering</a></li>
<li><a href="#grid-less">LESS mixins and variables</a></li>
</ul>
</li>
<li>
<a href="#type">Typography</a>
<ul class="nav">
<li><a href="#type-headings">Headings</a></li>
<li><a href="#type-body-copy">Body copy</a></li>
<li><a href="#type-emphasis">Emphasis</a></li>
<li><a href="#type-abbreviations">Abbreviations</a></li>
<li><a href="#type-addresses">Addresses</a></li>
<li><a href="#type-blockquotes">Blockquotes</a></li>
<li><a href="#type-lists">Lists</a></li>
</ul>
</li>
<li><a href="#code">Code</a></li>
<li>
<a href="#tables">Tables</a>
<ul class="nav">
<li><a href="#tables-example">Basic example</a></li>
<li><a href="#tables-striped">Zebra striping</a></li>
<li><a href="#tables-bordered">Bordered tables</a></li>
<li><a href="#tables-hover-rows">Hover rows</a></li>
<li><a href="#tables-condensed">Condensed tables</a></li>
<li><a href="#tables-contextual-classes">Contextual classes</a></li>
</ul>
</li>
<li>
<a href="#forms">Forms</a>
<ul class="nav">
<li><a href="#forms-example">Basic example</a></li>
<li><a href="#forms-inline">Inline variation</a></li>
<li><a href="#forms-horizontal">Horizontal variation</a></li>
<li><a href="#forms-controls">Supported controls</a></li>
<li><a href="#forms-controls-static">Static form control</a></li>
<li><a href="#forms-control-states">Control states</a></li>
<li><a href="#forms-control-sizes">Control sizing</a></li>
<li><a href="#forms-help-text">Help text</a></li>
</ul>
</li>
<li>
<a href="#buttons">Buttons</a>
<ul class="nav">
<li><a href="#buttons-options">Button options</a></li>
<li><a href="#buttons-sizes">Sizes</a></li>
<li><a href="#buttons-disabled">Disabled</a></li>
<li><a href="#buttons-tags">Button tags</a></li>
</ul>
</li>
<li><a href="#images">Images</a></li>
<li><a href="#helper-classes">Helper classes</a></li>
<li><a href="#responsive-utilities">Responsive utilities</a></li>
@@ -1,40 +0,0 @@
<li>
<a href="#less">LESS components</a>
</li>
<li>
<a href="#plugins">jQuery plugins</a>
</li>
<li>
<a href="#less-variables">LESS variables</a>
<ul class="nav">
<li><a href="#variables-basics">Basics</a></li>
<li><a href="#variables-buttons">Buttons</a></li>
<li><a href="#variables-form-states">Form states</a></li>
<li><a href="#variables-alerts">Alerts</a></li>
<li><a href="#variables-navbar">Navbar</a></li>
<li><a href="#variables-nav">Nav</a></li>
<li><a href="#variables-tables">Tables</a></li>
<li><a href="#variables-forms">Forms</a></li>
<li><a href="#variables-dropdowns">Dropdowns</a></li>
<li><a href="#variables-panels-wells">Panels and wells</a></li>
<li><a href="#variables-accordion">Accordion</a></li>
<li><a href="#variables-badges">Badges</a></li>
<li><a href="#variables-breadcrumbs">Breadcrumbs</a></li>
<li><a href="#variables-jumbotron">Jumbotron</a></li>
<li><a href="#variables-modals">Modals</a></li>
<li><a href="#variables-carousel">Carousel</a></li>
<li><a href="#variables-list-group">List group</a></li>
<li><a href="#variables-thumbnails">Thumbnails</a></li>
<li><a href="#variables-progress">Progress bars</a></li>
<li><a href="#variables-pagination">Pagination</a></li>
<li><a href="#variables-pager">Pager</a></li>
<li><a href="#variables-labels">Labels</a></li>
<li><a href="#variables-tooltips-popovers">Tooltips and popovers</a></li>
<li><a href="#variables-close">Close button</a></li>
<li><a href="#variables-type">Type</a></li>
<li><a href="#variables-other">Other</a></li>
</ul>
</li>
<li>
<a href="#download">Download</a>
</li>
@@ -1,34 +0,0 @@
<li>
<a href="#download">Download Bootstrap</a>
<ul class="nav">
<li><a href="#download-options">Download options</a></li>
<li><a href="#download-cdn">Bootstrap CDN</a></li>
</ul>
</li>
<li>
<a href="#whats-included">What's included</a>
</li>
<li>
<a href="#template">Basic template</a>
</li>
<li>
<a href="#examples">Examples</a>
</li>
<li>
<a href="#disable-responsive">Disabling responsiveness</a>
</li>
<li>
<a href="#browsers">Browser support</a>
</li>
<li>
<a href="#third-parties">Third party support</a>
</li>
<li>
<a href="#accessibility">Accessibility</a>
</li>
<li>
<a href="#license-faqs">License FAQs</a>
</li>
<li>
<a href="#customizing">Customizing Bootstrap</a>
</li>
@@ -1,88 +0,0 @@
<li>
<a href="#js-overview">Overview</a>
<ul class="nav">
<li><a href="#js-individual-compiled">Individual or compiled</a></li>
<li><a href="#js-data-attrs">Data attributes</a></li>
<li><a href="#js-programmatic-api">Programmatic API</a></li>
<li><a href="#js-noconflict">No Conflict</a></li>
<li><a href="#js-events">Events</a></li>
</ul>
</li>
<li><a href="#transitions">Transitions</a></li>
<li>
<a href="#modals">Modal</a>
<ul class="nav">
<li><a href="#modals-examples">Examples</a></li>
<li><a href="#modals-usage">Usage</a></li>
</ul>
</li>
<li>
<a href="#dropdowns">Dropdown</a>
<ul class="nav">
<li><a href="#dropdowns-examples">Examples</a></li>
<li><a href="#dropdowns-usage">Usage</a></li>
</ul>
</li>
<li>
<a href="#scrollspy">Scrollspy</a>
<ul class="nav">
<li><a href="#scrollspy-examples">Examples</a></li>
<li><a href="#scrollspy-usage">Usage</a></li>
</ul>
</li>
<li>
<a href="#tabs">Tab</a>
<ul class="nav">
<li><a href="#tabs-examples">Examples</a></li>
<li><a href="#tabs-usage">Usage</a></li>
</ul>
</li>
<li>
<a href="#tooltips">Tooltip</a>
<ul class="nav">
<li><a href="#tooltips-examples">Examples</a></li>
<li><a href="#tooltips-usage">Usage</a></li>
</ul>
</li>
<li>
<a href="#popovers">Popover</a>
<ul class="nav">
<li><a href="#popovers-examples">Examples</a></li>
<li><a href="#popovers-usage">Usage</a></li>
</ul>
</li>
<li>
<a href="#alerts">Alert</a>
<ul class="nav">
<li><a href="#alerts-examples">Examples</a></li>
<li><a href="#alerts-usage">Usage</a></li>
</ul>
</li>
<li>
<a href="#buttons">Button</a>
<ul class="nav">
<li><a href="#buttons-examples">Examples</a></li>
<li><a href="#buttons-usage">Usage</a></li>
</ul>
</li>
<li>
<a href="#collapse">Collapse</a>
<ul class="nav">
<li><a href="#collapse-examples">Examples</a></li>
<li><a href="#collapse-usage">Usage</a></li>
</ul>
</li>
<li>
<a href="#carousel">Carousel</a>
<ul class="nav">
<li><a href="#carousel-examples">Examples</a></li>
<li><a href="#carousel-usage">Usage</a></li>
</ul>
</li>
<li>
<a href="#affix">Affix</a>
<ul class="nav">
<li><a href="#affix-examples">Examples</a></li>
<li><a href="#affix-usage">Usage</a></li>
</ul>
</li>
@@ -1,32 +0,0 @@
<header class="navbar navbar-inverse navbar-fixed-top bs-docs-nav" role="banner">
<div class="container">
<div class="navbar-header">
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href="{{ page.base_url }}" class="navbar-brand">Bootstrap 3 RC2</a>
</div>
<nav class="collapse navbar-collapse bs-navbar-collapse" role="navigation">
<ul class="nav navbar-nav">
<li{% if page.slug == "getting-started" %} class="active"{% endif %}>
<a href="{{ page.base_url }}getting-started">Getting started</a>
</li>
<li{% if page.slug == "css" %} class="active"{% endif %}>
<a href="{{ page.base_url }}css">CSS</a>
</li>
<li{% if page.slug == "components" %} class="active"{% endif %}>
<a href="{{ page.base_url }}components">Components</a>
</li>
<li{% if page.slug == "js" %} class="active"{% endif %}>
<a href="{{ page.base_url }}javascript">JavaScript</a>
</li>
<li{% if page.slug == "customize" %} class="active"{% endif %}>
<a href="{{ page.base_url }}customize">Customize</a>
</li>
</ul>
</nav>
</div>
</header>
@@ -1,8 +0,0 @@
<div class="bs-old-docs">
<div class="container">
<strong>
<a href="{{ page.base_url }}2.3.2/">Looking for Bootstrap 2.3.2 docs?</a>
</strong>
We've moved it to a new home while we push forward with Bootstrap 3. <a href="http://blog.getbootstrap.com/">Read the blog</a> for details.
</div>
</div>
@@ -1,16 +0,0 @@
<div class="bs-social">
<ul class="bs-social-buttons">
<li>
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twbs&amp;repo=bootstrap&amp;type=watch&amp;count=true" width="100" height="20" title="Star on GitHub"></iframe>
</li>
<li>
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twbs&amp;repo=bootstrap&amp;type=fork&amp;count=true" width="102" height="20" title="Fork on GitHub"></iframe>
</li>
<li class="follow-btn">
<a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-link-color="#0069D6" data-show-count="true">Follow @twbootstrap</a>
</li>
<li class="tweet-btn">
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://getbootstrap.com/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
</li>
</ul>
</div>
@@ -1,52 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Meta, title, CSS, favicons, etc. -->
{% include header.html %}
<!-- Place anything custom after this. -->
</head>
<body data-spy="scroll" data-target=".bs-sidebar">
<a class="sr-only" href="#content">Skip navigation</a>
<!-- Docs master nav -->
{% include nav-main.html %}
<!-- Docs page layout -->
<div class="bs-header" id="content" role="banner">
<div class="container">
<h1>{{ page.title }}</h1>
<p>{{ page.lead }}</p>
{% include ads.html %}
</div>
</div>
<!-- Callout for the old docs link -->
{% include old-bs-docs.html %}
<div class="container bs-docs-container">
<div class="col-lg-12">
{{ content }}
</div>
</div>
<!-- Footer
================================================== -->
<footer class="bs-footer">
{% include social-buttons.html %}
<p>Designed and built with all the love in the world by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
<p>Code licensed under <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>, documentation under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
<ul class="footer-links">
<li><a href="{{ site.blog }}">Blog</a></li>
<li class="muted">&middot;</li>
<li><a href="{{ site.repo }}/issues?state=open">Issues</a></li>
<li class="muted">&middot;</li>
<li><a href="{{ site.repo }}/releases">Releases</a></li>
</ul>
</footer>
<!-- JS and analytics only. -->
{% include footer.html %}
</body>
</html>
@@ -1,72 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Meta, title, CSS, favicons, etc. -->
{% include header.html %}
<!-- Place anything custom after this. -->
</head>
<body>
<a class="sr-only" href="#content">Skip navigation</a>
<!-- Docs master nav -->
{% include nav-main.html %}
<!-- Docs page layout -->
<div class="bs-header" id="content">
<div class="container">
<h1>{{ page.title }}</h1>
<p>{{ page.lead }}</p>
{% include ads.html %}
</div>
</div>
<!-- Callout for the old docs link -->
{% include old-bs-docs.html %}
<div class="container bs-docs-container">
<div class="row">
<div class="col-md-3">
<div class="bs-sidebar hidden-print" role="complementary">
<ul class="nav bs-sidenav">
{% if page.slug == "getting-started" %}
{% include nav-getting-started.html %}
{% elsif page.slug == "css" %}
{% include nav-css.html %}
{% elsif page.slug == "components" %}
{% include nav-components.html %}
{% elsif page.slug == "js" %}
{% include nav-javascript.html %}
{% elsif page.slug == "customize" %}
{% include nav-customize.html %}
{% endif %}
</ul>
</div>
</div>
<div class="col-md-9" role="main">
{{ content }}
</div>
</div>
</div>
<!-- Footer
================================================== -->
<footer class="bs-footer" role="contentinfo">
{% include social-buttons.html %}
<p>Designed and built with all the love in the world by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
<p>Code licensed under <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>, documentation under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
<ul class="footer-links">
<li><a href="{{ site.blog }}">Blog</a></li>
<li class="muted">&middot;</li>
<li><a href="{{ site.repo }}/issues?state=open">Issues</a></li>
<li class="muted">&middot;</li>
<li><a href="{{ site.repo }}/releases">Releases</a></li>
</ul>
</footer>
<!-- JS and analytics only. -->
{% include footer.html %}
</body>
</html>
@@ -1,43 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Meta, title, CSS, favicons, etc. -->
{% include header.html %}
<!-- Place anything custom after this. -->
</head>
<body class="bs-docs-home">
<a class="sr-only" href="#content">Skip navigation</a>
<!-- Docs master nav -->
{% include nav-main.html %}
<!-- Page content of course! -->
{{ content }}
<!-- Callout for the old docs link -->
{% include old-bs-docs.html %}
<footer class="container" role="contentinfo">
{% include social-buttons.html %}
<ul class="bs-masthead-links">
<li>
<a href="{{ site.repo }}" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'GitHub project']);">GitHub project</a>
</li>
<li>
<a href="../getting-started#examples" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Examples']);">Examples</a>
</li>
<li>
<a href="{{ site.glyphicons }}" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Glyphicons']);">Glyphicons</a>
</li>
<li>
<a href="{{ site.expo }}" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Expo']);">Bootstrap Expo</a>
</li>
</ul>
</footer>
<!-- JS and analytics only. -->
{% include footer.html %}
</body>
</html>
@@ -1,929 +0,0 @@
/*
* Bootstrap Documentation
* Special styles for presenting Bootstrap's documentation and code examples.
*/
/* Key scaffolding
-------------------------------------------------- */
body {
position: relative; /* For scrollyspy */
padding-top: 50px; /* Account for fixed navbar */
}
/* Custom docs button */
.btn-bs {
color: #563d7c;
background-color: #fff;
border-color: #e5e5e5;
}
.btn-bs:hover,
.btn-bs:focus,
.btn-bs:active {
color: #fff;
background-color: #563d7c;
border-color: #563d7c;
}
/* Homepage button */
.btn-outline {
color: #fff;
background-color: transparent;
border-color: #cdbfe3;
}
.btn-outline:hover,
.btn-outline:focus,
.btn-outline:active {
color: #563d7c;
background-color: #fff;
border-color: #fff;
}
/* Temp CSS until RC2 */
.bs-customize-placeholder {
margin-bottom: -100px;
padding: 80px 30px;
text-align: center;
background-color: #f5f5f5;
}
/* Top nav and header
-------------------------------------------------- */
.bs-docs-nav {
background-color: #563d7c;
border-color: #463265;
}
.bs-docs-nav .navbar-collapse {
border-color: #463265;
}
.bs-docs-nav .navbar-brand {
color: #fff;
}
.bs-docs-nav .navbar-nav > li > a {
color: #cdbfe3;
}
.bs-docs-nav .navbar-nav > li > a:hover {
color: #fff;
}
.bs-docs-nav .navbar-nav > .active > a,
.bs-docs-nav .navbar-nav > .active > a:hover {
color: #fff;
background-color: #463265;
}
.bs-docs-nav .navbar-toggle {
border-color: #563d7c;
}
.bs-docs-nav .navbar-toggle:hover {
background-color: #463265;
border-color: #463265;
}
/* Old docs callout */
.bs-old-docs {
padding: 15px 20px;
color: #777;
background-color: #fafafa;
border-bottom: 1px solid #e5e5e5;
}
.bs-old-docs strong {
color: #555;
}
.bs-docs-home .bs-old-docs {
padding-top: 0;
padding-bottom: 0;
text-align: center;
color: inherit;
background-color: transparent;
border-color: transparent;
}
.bs-docs-home .bs-old-docs a {
color: #fff;
}
/* Homepage */
.bs-docs-home {
color: #cdbfe3;
background-color: #563d7c;
}
/* Homepage masthead
-------------------------------------------------- */
.bs-masthead {
position: relative;
padding: 30px 15px;
text-align: center;
}
.bs-masthead h1 {
font-size: 50px;
line-height: 1;
color: #fff;
}
/* Download button */
.bs-masthead .btn-outline {
margin-top: 20px;
margin-bottom: 20px;
padding: 18px 24px;
font-size: 21px;
}
/* Textual links */
.bs-social {
margin-top: 30px;
text-align: center;
}
.bs-masthead-links {
margin-top: 20px;
margin-bottom: 20px;
padding-left: 0;
list-style: none;
text-align: center;
}
.bs-masthead-links li {
display: inline;
color: #999;
}
.bs-masthead-links li + li {
margin-left: 20px;
}
.bs-masthead-links a {
color: #fff;
}
/* Customize and Download button
-------------------------------------------------- */
.bs-customizer .toggle {
float: right;
}
.bs-customizer label {
margin-top: 10px;
font-weight: 500;
color: #444;
}
.bs-customizer h2 {
margin-top: 0;
margin-bottom: 5px;
padding-top: 30px;
}
.bs-customizer h4 {
margin-top: 15px;
}
.bs-customizer input[type="text"] {
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
background-color: #fafafa;
}
.bs-customizer .help-block {
font-size: 12px;
}
.bs-customize-download {
text-align: center;
}
#less-section label {
font-weight: normal;
}
/* Docs pages and sections
-------------------------------------------------- */
/* Page headers */
.bs-header {
padding: 30px 30px 40px;
font-size: 16px;
color: #5a5a5a;
text-align: center;
border-bottom: 1px solid #e5e5e5;
}
.bs-header h1 {
color: #563d7c;
}
.bs-header p {
font-weight: 300;
line-height: 1.5;
}
.bs-header .container {
position: relative;
}
.bs-docs-section + .bs-docs-section {
padding-top: 80px;
}
/* Ads in page headers */
.carbonad {
width: auto !important;
margin: 50px -30px -40px !important;
padding: 20px !important;
overflow: hidden; /* clearfix */
height: auto !important;
font-size: 13px !important;
line-height: 16px !important;
text-align: left;
background: none !important;
border: 0 !important;
border-top: 1px solid #e5e5e5 !important;
}
.carbonad-img {
margin: 0 !important;
}
.carbonad-text,
.carbonad-tag {
float: none !important;
display: block !important;
width: auto !important;
height: auto !important;
margin-left: 145px !important;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
.carbonad-text {
padding-top: 0 !important;
}
.carbonad-tag {
text-align: left !important;
}
.carbonad #azcarbon > img {
display: none; /* hide what I assume are tracking images */
}
/* Docs sidebar
-------------------------------------------------- */
/* By default it's not affixed in mobile views, so undo that */
.bs-sidebar.affix {
position: static;
}
/* First level of nav */
.bs-sidenav {
margin-top: 30px;
margin-bottom: 30px;
padding-top: 10px;
padding-bottom: 10px;
text-shadow: 0 1px 0 #fff;
background-color: #f7f5fa;
border-radius: 5px;
}
/* All levels of nav */
.bs-sidebar .nav > li > a {
display: block;
color: #716b7a;
padding: 5px 20px;
}
.bs-sidebar .nav > li > a:hover,
.bs-sidebar .nav > li > a:focus {
text-decoration: none;
background-color: #e5e3e9;
border-right: 1px solid #dbd8e0;
}
.bs-sidebar .nav > .active > a,
.bs-sidebar .nav > .active:hover > a,
.bs-sidebar .nav > .active:focus > a {
font-weight: bold;
color: #563d7c;
background-color: transparent;
border-right: 1px solid #563d7c;
}
/* Nav: second level (shown on .active) */
.bs-sidebar .nav .nav {
display: none; /* Hide by default, but at >768px, show it */
margin-bottom: 8px;
}
.bs-sidebar .nav .nav > li > a {
padding-top: 3px;
padding-bottom: 3px;
padding-left: 30px;
font-size: 90%;
}
/* Side notes for calling out things
-------------------------------------------------- */
/* Base styles (regardless of theme) */
.bs-callout {
margin: 20px 0;
padding: 15px 30px 15px 15px;
border-left: 5px solid #eee;
}
.bs-callout h4 {
margin-top: 0;
}
.bs-callout p:last-child {
margin-bottom: 0;
}
.bs-callout code,
.bs-callout .highlight {
background-color: #fff;
}
/* Themes for different contexts */
.bs-callout-danger {
background-color: #fcf2f2;
border-color: #dFb5b4;
}
.bs-callout-warning {
background-color: #fefbed;
border-color: #f1e7bc;
}
.bs-callout-info {
background-color: #f0f7fd;
border-color: #d0e3f0;
}
/* Examples grid
-------------------------------------------------- */
.bs-examples h4 {
margin-bottom: 5px;
}
.bs-examples p {
margin-bottom: 20px;
}
/* Special grid styles
-------------------------------------------------- */
.show-grid {
margin-bottom: 15px;
}
.show-grid [class^="col-"] {
padding-top: 10px;
padding-bottom: 10px;
background-color: #eee;
border: 1px solid #ddd;
background-color: rgba(86,61,124,.15);
border: 1px solid rgba(86,61,124,.2);
}
/* Bootstrap code examples
-------------------------------------------------- */
/* Base class */
.bs-example {
position: relative;
padding: 45px 15px 15px;
margin: 0 -15px 15px;
background-color: #fafafa;
box-shadow: inset 0 3px 6px rgba(0,0,0,.05);
border-color: #e5e5e5 #eee #eee;
border-style: solid;
border-width: 1px 0;
}
/* Echo out a label for the example */
.bs-example:after {
content: "Example";
position: absolute;
top: 15px;
left: 15px;
font-size: 12px;
font-weight: bold;
color: #bbb;
text-transform: uppercase;
letter-spacing: 1px;
}
/* Tweak display of the examples */
.bs-example + .highlight {
margin: -15px -15px 15px;
border-radius: 0;
border-width: 0 0 1px;
}
/* Tweak content of examples for optimum awesome */
.bs-example > p:last-child,
.bs-example > ul:last-child,
.bs-example > ol:last-child,
.bs-example > blockquote:last-child,
.bs-example > .form-control:last-child,
.bs-example > .table:last-child,
.bs-example > .navbar:last-child
.bs-example > .jumbotron:last-child,
.bs-example > .alert:last-child,
.bs-example > .panel:last-child,
.bs-example > .list-group:last-child,
.bs-example > .well:last-child,
.bs-example > .progress:last-child {
margin-bottom: 0;
}
.bs-example > p > .close {
float: none;
}
/* Typography */
.bs-example-type .table td:last-child {
color: #999;
vertical-align: middle;
}
.bs-example-type .table td {
padding: 15px 0;
border-color: #eee;
}
.bs-example-type .table tr:first-child td {
border-top: 0;
}
.bs-example-type h1,
.bs-example-type h2,
.bs-example-type h3,
.bs-example-type h4,
.bs-example-type h5,
.bs-example-type h6 {
margin: 0;
}
/* Images */
.bs-example > .img-circle,
.bs-example > .img-rounded,
.bs-example > .img-thumbnail {
margin: 5px;
}
/* Buttons */
.bs-example > .btn,
.bs-example > .btn-group {
margin-top: 5px;
margin-bottom: 5px;
}
.bs-example > .btn-toolbar + .btn-toolbar {
margin-top: 10px;
}
/* Forms */
.bs-example-control-sizing select,
.bs-example-control-sizing input[type="text"] + input[type="text"] {
margin-top: 10px;
}
.bs-example-form .input-group {
margin-bottom: 10px;
}
.bs-example > textarea.form-control {
resize: vertical;
}
/* List groups */
.bs-example > .list-group {
max-width: 400px;
}
/* Navbar examples */
.bs-example .navbar:last-child {
margin-bottom: 0;
}
.bs-navbar-top-example,
.bs-navbar-bottom-example {
z-index: 1;
padding: 0;
overflow: hidden; /* cut the drop shadows off */
}
.bs-navbar-top-example .navbar-fixed-top,
.bs-navbar-bottom-example .navbar-fixed-bottom {
position: relative;
margin-left: 0;
margin-right: 0;
}
.bs-navbar-top-example {
padding-bottom: 45px;
}
.bs-navbar-top-example:after {
top: auto;
bottom: 15px;
}
.bs-navbar-top-example .navbar-fixed-top {
top: -1px;
}
.bs-navbar-bottom-example {
padding-top: 45px;
}
.bs-navbar-bottom-example .navbar-fixed-bottom {
bottom: -1px;
}
.bs-navbar-bottom-example .navbar {
margin-bottom: 0;
}
@media (min-width: 768px) {
.bs-navbar-top-example {
border-radius: 0 0 4px 4px;
}
.bs-navbar-bottom-example {
border-radius: 4px 4px 0 0;
}
}
/* Example modals */
.bs-example-modal {
background-color: #f5f5f5;
}
.bs-example-modal .modal {
position: relative;
top: auto;
right: auto;
left: auto;
bottom: auto;
z-index: 1;
display: block;
}
.bs-example-modal .modal-dialog {
left: auto;
margin-left: auto;
margin-right: auto;
}
/* Example dropdowns */
.bs-example > .dropdown > .dropdown-menu {
position: static;
display: block;
margin-bottom: 5px;
}
/* Example tabbable tabs */
.bs-example-tabs .nav-tabs {
margin-bottom: 15px;
}
/* Tooltips */
.bs-example-tooltips {
text-align: center;
}
.bs-example-tooltips > .btn {
margin-top: 5px;
margin-bottom: 5px;
}
/* Popovers */
.bs-example-popover {
padding-bottom: 24px;
background-color: #f9f9f9;
}
.bs-example-popover .popover {
position: relative;
display: block;
float: left;
width: 260px;
margin: 20px;
}
/* Responsive docs
-------------------------------------------------- */
/* Responsive (scrollable) doc tables */
@media (max-width: 768px) {
.bs-table-scrollable {
width: 100%;
margin-bottom: 15px;
overflow-y: hidden;
overflow-x: scroll;
border: 1px solid #ddd;
}
.bs-table-scrollable .table {
margin-bottom: 0;
border: 0;
}
.bs-table-scrollable .table th,
.bs-table-scrollable .table td {
white-space: nowrap;
}
.bs-table-scrollable .table th:first-child,
.bs-table-scrollable .table td:first-child {
border-left: 0;
}
.bs-table-scrollable .table th:last-child,
.bs-table-scrollable .table td:last-child {
border-right: 0;
}
.bs-table-scrollable .table tr:last-child th,
.bs-table-scrollable .table tr:last-child td {
border-bottom: 0;
}
}
.bs-table-scrollable .highlight pre {
white-space: normal;
}
/* Related: responsive utilities tables */
.table code {
font-size: 13px;
font-weight: normal;
}
/* Utility classes table
------------------------- */
.bs-table th small,
.responsive-utilities th small {
display: block;
font-weight: normal;
color: #999;
}
.responsive-utilities tbody th {
font-weight: normal;
}
.responsive-utilities td {
text-align: center;
}
.responsive-utilities td.is-visible {
color: #468847;
background-color: #dff0d8 !important;
}
.responsive-utilities td.is-hidden {
color: #ccc;
background-color: #f9f9f9 !important;
}
/* Responsive tests
------------------------- */
.responsive-utilities-test {
margin-top: 5px;
}
.responsive-utilities-test .col-xs-6 {
margin-bottom: 10px;
}
.responsive-utilities-test span {
padding: 15px 10px;
font-size: 14px;
font-weight: bold;
line-height: 1.1;
text-align: center;
border-radius: 4px;
}
.visible-on .col-xs-6 .hidden-xs,
.visible-on .col-xs-6 .hidden-sm,
.visible-on .col-xs-6 .hidden-md,
.visible-on .col-xs-6 .hidden-lg,
.hidden-on .col-xs-6 .visible-xs,
.hidden-on .col-xs-6 .visible-sm,
.hidden-on .col-xs-6 .visible-md,
.hidden-on .col-xs-6 .visible-lg {
color: #999;
border: 1px solid #ddd;
}
.visible-on .col-xs-6 .visible-xs,
.visible-on .col-xs-6 .visible-sm,
.visible-on .col-xs-6 .visible-md,
.visible-on .col-xs-6 .visible-lg,
.hidden-on .col-xs-6 .hidden-xs,
.hidden-on .col-xs-6 .hidden-sm,
.hidden-on .col-xs-6 .hidden-md,
.hidden-on .col-xs-6 .hidden-lg {
color: #468847;
background-color: #dff0d8;
border: 1px solid #d6e9c6;
}
/* Footer
-------------------------------------------------- */
.bs-footer {
padding-top: 40px;
padding-bottom: 30px;
margin-top: 100px;
text-align: center;
border-top: 1px solid #e5e5e5;
}
.bs-footer p {
margin-bottom: 0;
color: #777;
}
.footer-links {
margin: 10px 0;
padding-left: 0;
}
.footer-links li {
display: inline;
padding: 0 2px;
}
.footer-links li:first-child {
padding-left: 0;
}
/* Social proof buttons from GitHub & Twitter */
.bs-social {
margin-bottom: 20px;
}
.bs-social-buttons {
display: inline-block;
margin-bottom: 0;
padding-left: 0;
list-style: none;
}
.bs-social-buttons li {
display: inline-block;
line-height: 1;
}
.bs-social-buttons li + li {
margin-left: 15px;
}
.bs-social-buttons .twitter-follow-button {
width: 225px !important;
}
.bs-social-buttons .twitter-share-button {
width: 98px !important;
}
/* Style the GitHub buttons via CSS instead of inline attributes */
.github-btn {
border: 0;
overflow: hidden;
}
/* Misc docs stuff
-------------------------------------------------- */
/* Pseudo :focus state for showing how it looks in the docs */
#focusedInput {
border-color: rgba(82,168,236,.8);
outline: 0;
outline: thin dotted \9; /* IE6-9 */
-moz-box-shadow: 0 0 8px rgba(82,168,236,.6);
box-shadow: 0 0 8px rgba(82,168,236,.6);
}
/* Scrollspy demo on fixed height div */
.scrollspy-example {
position: relative;
height: 200px;
margin-top: 10px;
overflow: auto;
}
.highlight {
padding: 9px 14px;
margin-bottom: 14px;
background-color: #f7f7f9;
border: 1px solid #e1e1e8;
border-radius: 4px;
}
.highlight pre {
padding: 0;
margin-top: 0;
margin-bottom: 0;
background-color: transparent;
border: 0;
white-space: nowrap;
}
.highlight pre code {
font-size: inherit;
color: #333; /* Effectively the base text color */
}
.highlight pre .lineno {
display: inline-block;
width: 22px;
padding-right: 5px;
margin-right: 10px;
text-align: right;
color: #bebec5;
}
/* Better spacing on download options in getting started */
.bs-docs-dl-options h4 {
margin-top: 15px;
margin-bottom: 5px;
}
/* Responsive variations
-------------------------------------------------- */
/* Hide code snippets on mobile devices */
@media screen and (max-width: 480px) {
.highlight {
display: none;
}
}
/* Tablets and up */
@media screen and (min-width: 768px) {
.bs-header {
font-size: 21px;
text-align: left;
}
.bs-header h1 {
font-size: 60px;
line-height: 1;
}
.bs-example {
margin-left: 0;
margin-right: 0;
background-color: #fff;
border-width: 1px;
border-color: #ddd;
border-radius: 4px 4px 0 0;
box-shadow: none;
}
.bs-example + .prettyprint,
.bs-example + .highlight {
margin-top: -16px;
margin-left: 0;
margin-right: 0;
border-width: 1px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
}
.carbonad {
margin: 0 !important;
border: 1px solid #e5e5e5 !important;
border-radius: 4px;
}
/* Show the docs nav */
.bs-sidebar {
display: block;
}
/* Tweak display of docs jumbotrons */
.bs-masthead {
padding-top: 140px;
padding-bottom: 140px;
}
.bs-masthead h1 {
font-size: 100px;
}
.bs-masthead .lead {
margin-left: 15%;
margin-right: 15%;
font-size: 30px;
}
.bs-navbar-top-example .navbar-fixed-top,
.bs-navbar-bottom-example .navbar-fixed-bottom {
position: absolute;
}
}
/* Tablets/desktops and up */
@media screen and (min-width: 992px) {
.bs-header h1,
.bs-header p {
margin-right: 380px;
}
.carbonad {
position: absolute;
top: 20px;
right: 0;
padding: 15px !important;
width: 330px !important;
min-height: 132px;
}
/* Show the hidden subnavs when space allows it */
.bs-sidebar .nav > .active > ul {
display: block;
}
/* Widen the fixed sidebar */
.bs-sidebar.affix,
.bs-sidebar.affix-bottom {
width: 213px;
}
.bs-sidebar.affix {
position: fixed; /* Undo the static from mobile-first approach */
top: 80px;
}
.bs-sidebar.affix-bottom {
position: absolute; /* Undo the static from mobile-first approach */
}
.bs-sidebar.affix-bottom .bs-sidenav,
.bs-sidebar.affix .bs-sidenav {
margin-top: 0;
margin-bottom: 0;
}
}
/* Large desktops and up */
@media screen and (min-width: 1200px) {
/* Widen the fixed sidebar again */
.bs-sidebar.affix-bottom,
.bs-sidebar.affix {
width: 263px;
}
}
@@ -1,66 +0,0 @@
.hll { background-color: #ffffcc }
/*{ background: #f0f3f3; }*/
.c { color: #999; } /* Comment */
.err { color: #AA0000; background-color: #FFAAAA } /* Error */
.k { color: #006699; } /* Keyword */
.o { color: #555555 } /* Operator */
.cm { color: #0099FF; font-style: italic } /* Comment.Multiline */
.cp { color: #009999 } /* Comment.Preproc */
.c1 { color: #999; } /* Comment.Single */
.cs { color: #999; } /* Comment.Special */
.gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #003300; } /* Generic.Heading */
.gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */
.go { color: #AAAAAA } /* Generic.Output */
.gp { color: #000099; } /* Generic.Prompt */
.gs { } /* Generic.Strong */
.gu { color: #003300; } /* Generic.Subheading */
.gt { color: #99CC66 } /* Generic.Traceback */
.kc { color: #006699; } /* Keyword.Constant */
.kd { color: #006699; } /* Keyword.Declaration */
.kn { color: #006699; } /* Keyword.Namespace */
.kp { color: #006699 } /* Keyword.Pseudo */
.kr { color: #006699; } /* Keyword.Reserved */
.kt { color: #007788; } /* Keyword.Type */
.m { color: #FF6600 } /* Literal.Number */
.s { color: #d44950 } /* Literal.String */
.na { color: #4f9fcf } /* Name.Attribute */
.nb { color: #336666 } /* Name.Builtin */
.nc { color: #00AA88; } /* Name.Class */
.no { color: #336600 } /* Name.Constant */
.nd { color: #9999FF } /* Name.Decorator */
.ni { color: #999999; } /* Name.Entity */
.ne { color: #CC0000; } /* Name.Exception */
.nf { color: #CC00FF } /* Name.Function */
.nl { color: #9999FF } /* Name.Label */
.nn { color: #00CCFF; } /* Name.Namespace */
.nt { color: #2f6f9f; } /* Name.Tag */
.nv { color: #003333 } /* Name.Variable */
.ow { color: #000000; } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mf { color: #FF6600 } /* Literal.Number.Float */
.mh { color: #FF6600 } /* Literal.Number.Hex */
.mi { color: #FF6600 } /* Literal.Number.Integer */
.mo { color: #FF6600 } /* Literal.Number.Oct */
.sb { color: #CC3300 } /* Literal.String.Backtick */
.sc { color: #CC3300 } /* Literal.String.Char */
.sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */
.s2 { color: #CC3300 } /* Literal.String.Double */
.se { color: #CC3300; } /* Literal.String.Escape */
.sh { color: #CC3300 } /* Literal.String.Heredoc */
.si { color: #AA0000 } /* Literal.String.Interpol */
.sx { color: #CC3300 } /* Literal.String.Other */
.sr { color: #33AAAA } /* Literal.String.Regex */
.s1 { color: #CC3300 } /* Literal.String.Single */
.ss { color: #FFCC33 } /* Literal.String.Symbol */
.bp { color: #336666 } /* Name.Builtin.Pseudo */
.vc { color: #003333 } /* Name.Variable.Class */
.vg { color: #003333 } /* Name.Variable.Global */
.vi { color: #003333 } /* Name.Variable.Instance */
.il { color: #FF6600 } /* Literal.Number.Integer.Long */
.css .o,
.css .o + .nt,
.css .nt + .nt { color: #999; }
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

@@ -1,83 +0,0 @@
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
// IT'S ALL JUST JUNK FOR OUR DOCS!
// ++++++++++++++++++++++++++++++++++++++++++
!function ($) {
$(function(){
var $window = $(window)
var $body = $(document.body)
var navHeight = $('.navbar').outerHeight(true) + 10
$body.scrollspy({
target: '.bs-sidebar',
offset: navHeight
})
$window.on('load', function () {
$body.scrollspy('refresh')
})
$('.bs-docs-container [href=#]').click(function (e) {
e.preventDefault()
})
// back to top
setTimeout(function () {
var $sideBar = $('.bs-sidebar')
$sideBar.affix({
offset: {
top: function () {
var offsetTop = $sideBar.offset().top
var sideBarMargin = parseInt($sideBar.children(0).css('margin-top'), 10)
var navOuterHeight = $('.bs-docs-nav').height()
return (this.top = offsetTop - navOuterHeight - sideBarMargin)
}
, bottom: function () {
return (this.bottom = $('.bs-footer').outerHeight(true))
}
}
})
}, 100)
setTimeout(function () {
$('.bs-top').affix()
}, 100)
// tooltip demo
$('.tooltip-demo').tooltip({
selector: "[data-toggle=tooltip]",
container: "body"
})
$('.tooltip-test').tooltip()
$('.popover-test').popover()
$('.bs-docs-navbar').tooltip({
selector: "a[data-toggle=tooltip]",
container: ".bs-docs-navbar .nav"
})
// popover demo
$("[data-toggle=popover]")
.popover()
// button state demo
$('#fat-btn')
.click(function () {
var btn = $(this)
btn.button('loading')
setTimeout(function () {
btn.button('reset')
}, 3000)
})
// carousel demo
$('.bs-docs-carousel-example').carousel()
})
}(window.jQuery)
@@ -1,175 +0,0 @@
window.onload = function () { // wait for load in a dumb way because B-0
var cw = '/*!\n * Bootstrap v3.0.0-rc.2\n *\n * Copyright 2013 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world @twitter by @mdo and @fat.\n */\n\n'
function generateUrl() {
var vars = {}
$('#less-variables-section input')
.each(function () {
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
})
var data = {
vars: vars,
css: $('#less-section input:not(:checked)').map(function () { return this.value }).toArray(),
js: $('#plugin-section input:not(:checked)').map(function () { return this.value }).toArray()
}
if ($.isEmptyObject(data.vars) && !data.css.length && !data.js.length) return
window.location = jQuery.param.querystring('/customize/', data)
}
function parseUrl() {
var data = jQuery.deparam.querystring()
if (data.js) {
for (var i = 0; i < data.js.length; i++) {
var input = $('input[value="'+data.js[i]+'"]')
input && input.prop('checked', false)
}
}
if (data.css) {
for (var i = 0; i < data.css.length; i++) {
var input = $('input[value="'+data.css[i]+'"]')
input && input.prop('checked', false)
}
}
if (data.vars) {
// todo (fat): vars
}
}
function generateZip(css, js, complete) {
if (!css && !js) return alert('you want to build nothing… o_O')
var zip = new JSZip()
if (css) {
var cssFolder = zip.folder('css')
for (var fileName in css) {
cssFolder.file(fileName, css[fileName])
}
}
if (js) {
var jsFolder = zip.folder('js')
for (var fileName in js) {
jsFolder.file(fileName, js[fileName])
}
}
var content = zip.generate()
location.href = 'data:application/zip;base64,' + content
complete()
}
function generateCustomCSS(vars) {
var result = ''
for (var key in vars) {
result += key + ': ' + vars[key] + ';\n'
}
return result + '\n\n'
}
function generateCSS() {
var $checked = $('#less-section input:checked')
if (!$checked.length) return false
var result = {}
var vars = {}
var css = ''
$('#less-variables-section input')
.each(function () {
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
})
css += __less['variables.less']
if (vars) css += generateCustomCSS(vars)
css += __less['mixins.less']
css += $checked
.map(function () { return __less[this.value] })
.toArray()
.join('\n')
css = css.replace(/@import[^\n]*/gi, '') //strip any imports
try {
var parser = new less.Parser({
paths: ['variables.less', 'mixins.less']
, optimization: 0
, filename: 'bootstrap.css'
}).parse(css, function (err, tree) {
if (err) return alert(err)
result = {
'bootstrap.css' : cw + tree.toCSS(),
'bootstrap.min.css' : cw + tree.toCSS({ compress: true })
}
})
} catch (err) {
return alert(err)
}
return result
}
function generateJavascript() {
var $checked = $('#plugin-section input:checked')
if (!$checked.length) return false
var js = $checked
.map(function () { return __js[this.value] })
.toArray()
.join('\n')
return {
'bootstrap.js': js,
'bootstrap.min.js': cw + uglify(js)
}
}
var $downloadBtn = $('#btn-download').on('click', function (e) {
e.preventDefault()
$downloadBtn.addClass('loading')
generateZip(generateCSS(), generateJavascript(), function () {
$downloadBtn.removeClass('loading')
setTimeout(function () {
generateUrl()
}, 1)
})
})
var inputsComponent = $('#less-section input')
var inputsPlugin = $('#plugin-section input')
var inputsVariables = $('#less-variables-section input')
$('#less-section .toggle').on('click', function (e) {
e.preventDefault()
inputsComponent.prop('checked', !inputsComponent.is(':checked'))
})
$('#plugin-section .toggle').on('click', function (e) {
e.preventDefault()
inputsPlugin.prop('checked', !inputsPlugin.is(':checked'))
})
$('#less-variables-section .toggle').on('click', function (e) {
e.preventDefault()
inputsVariables.val('')
})
try {
parseUrl()
} catch (e) {
// maybe alert user that we can't parse their url
}
}
@@ -1,419 +0,0 @@
/*
Holder - 2.0 - client side image placeholders
(c) 2012-2013 Ivan Malopinsky / http://imsky.co
Provided under the Apache 2.0 License: http://www.apache.org/licenses/LICENSE-2.0
Commercial use requires attribution.
*/
var Holder = Holder || {};
(function (app, win) {
var preempted = false,
fallback = false,
canvas = document.createElement('canvas');
//getElementsByClassName polyfill
document.getElementsByClassName||(document.getElementsByClassName=function(e){var t=document,n,r,i,s=[];if(t.querySelectorAll)return t.querySelectorAll("."+e);if(t.evaluate){r=".//*[contains(concat(' ', @class, ' '), ' "+e+" ')]",n=t.evaluate(r,t,null,0,null);while(i=n.iterateNext())s.push(i)}else{n=t.getElementsByTagName("*"),r=new RegExp("(^|\\s)"+e+"(\\s|$)");for(i=0;i<n.length;i++)r.test(n[i].className)&&s.push(n[i])}return s})
//getComputedStyle polyfill
window.getComputedStyle||(window.getComputedStyle=function(e,t){return this.el=e,this.getPropertyValue=function(t){var n=/(\-([a-z]){1})/g;return t=="float"&&(t="styleFloat"),n.test(t)&&(t=t.replace(n,function(){return arguments[2].toUpperCase()})),e.currentStyle[t]?e.currentStyle[t]:null},this})
//http://javascript.nwbox.com/ContentLoaded by Diego Perini with modifications
function contentLoaded(n,t){var l="complete",s="readystatechange",u=!1,h=u,c=!0,i=n.document,a=i.documentElement,e=i.addEventListener?"addEventListener":"attachEvent",v=i.addEventListener?"removeEventListener":"detachEvent",f=i.addEventListener?"":"on",r=function(e){(e.type!=s||i.readyState==l)&&((e.type=="load"?n:i)[v](f+e.type,r,u),!h&&(h=!0)&&t.call(n,null))},o=function(){try{a.doScroll("left")}catch(n){setTimeout(o,50);return}r("poll")};if(i.readyState==l)t.call(n,"lazy");else{if(i.createEventObject&&a.doScroll){try{c=!n.frameElement}catch(y){}c&&o()}i[e](f+"DOMContentLoaded",r,u),i[e](f+s,r,u),n[e](f+"load",r,u)}};
//https://gist.github.com/991057 by Jed Schmidt with modifications
function selector(a){
a=a.match(/^(\W)?(.*)/);var b=document["getElement"+(a[1]?a[1]=="#"?"ById":"sByClassName":"sByTagName")](a[2]);
var ret=[]; b!=null&&(b.length?ret=b:b.length==0?ret=b:ret=[b]); return ret;
}
//shallow object property extend
function extend(a,b){var c={};for(var d in a)c[d]=a[d];for(var e in b)c[e]=b[e];return c}
//hasOwnProperty polyfill
if (!Object.prototype.hasOwnProperty)
Object.prototype.hasOwnProperty = function(prop) {
var proto = this.__proto__ || this.constructor.prototype;
return (prop in this) && (!(prop in proto) || proto[prop] !== this[prop]);
}
function text_size(width, height, template) {
height = parseInt(height,10);
width = parseInt(width,10);
var bigSide = Math.max(height, width)
var smallSide = Math.min(height, width)
var scale = 1 / 12;
var newHeight = Math.min(smallSide * 0.75, 0.75 * bigSide * scale);
return {
height: Math.round(Math.max(template.size, newHeight))
}
}
function draw(ctx, dimensions, template, ratio) {
var ts = text_size(dimensions.width, dimensions.height, template);
var text_height = ts.height;
var width = dimensions.width * ratio,
height = dimensions.height * ratio;
var font = template.font ? template.font : "sans-serif";
canvas.width = width;
canvas.height = height;
ctx.textAlign = "center";
ctx.textBaseline = "middle";
ctx.fillStyle = template.background;
ctx.fillRect(0, 0, width, height);
ctx.fillStyle = template.foreground;
ctx.font = "bold " + text_height + "px " + font;
var text = template.text ? template.text : (Math.floor(dimensions.width) + "x" + Math.floor(dimensions.height));
var text_width = ctx.measureText(text).width;
if (text_width / width >= 0.75) {
text_height = Math.floor(text_height * 0.75 * (width/text_width));
}
//Resetting font size if necessary
ctx.font = "bold " + (text_height * ratio) + "px " + font;
ctx.fillText(text, (width / 2), (height / 2), width);
return canvas.toDataURL("image/png");
}
function render(mode, el, holder, src) {
var dimensions = holder.dimensions,
theme = holder.theme,
text = holder.text ? decodeURIComponent(holder.text) : holder.text;
var dimensions_caption = dimensions.width + "x" + dimensions.height;
theme = (text ? extend(theme, {
text: text
}) : theme);
theme = (holder.font ? extend(theme, {
font: holder.font
}) : theme);
if (mode == "image") {
el.setAttribute("data-src", src);
el.setAttribute("alt", text ? text : theme.text ? theme.text + " [" + dimensions_caption + "]" : dimensions_caption);
if (fallback || !holder.auto) {
el.style.width = dimensions.width + "px";
el.style.height = dimensions.height + "px";
}
if (fallback) {
el.style.backgroundColor = theme.background;
} else {
el.setAttribute("src", draw(ctx, dimensions, theme, ratio));
}
} else if (mode == "background") {
if (!fallback) {
el.style.backgroundImage = "url(" + draw(ctx, dimensions, theme, ratio) + ")";
el.style.backgroundSize = dimensions.width + "px " + dimensions.height + "px";
}
} else if (mode == "fluid") {
el.setAttribute("data-src", src);
el.setAttribute("alt", text ? text : theme.text ? theme.text + " [" + dimensions_caption + "]" : dimensions_caption);
if (dimensions.height.substr(-1) == "%") {
el.style.height = dimensions.height
} else {
el.style.height = dimensions.height + "px"
}
if (dimensions.width.substr(-1) == "%") {
el.style.width = dimensions.width
} else {
el.style.width = dimensions.width + "px"
}
if (el.style.display == "inline" || el.style.display == "") {
el.style.display = "block";
}
if (fallback) {
el.style.backgroundColor = theme.background;
} else {
el.holderData = holder;
fluid_images.push(el);
fluid_update(el);
}
}
};
function fluid_update(element) {
var images;
if (element.nodeType == null) {
images = fluid_images;
} else {
images = [element]
}
for (i in images) {
var el = images[i]
if (el.holderData) {
var holder = el.holderData;
el.setAttribute("src", draw(ctx, {
height: el.clientHeight,
width: el.clientWidth
}, holder.theme, ratio));
}
}
}
function parse_flags(flags, options) {
var ret = {
theme: settings.themes.gray
}, render = false;
for (sl = flags.length, j = 0; j < sl; j++) {
var flag = flags[j];
if (app.flags.dimensions.match(flag)) {
render = true;
ret.dimensions = app.flags.dimensions.output(flag);
} else if (app.flags.fluid.match(flag)) {
render = true;
ret.dimensions = app.flags.fluid.output(flag);
ret.fluid = true;
} else if (app.flags.colors.match(flag)) {
ret.theme = app.flags.colors.output(flag);
} else if (options.themes[flag]) {
//If a theme is specified, it will override custom colors
ret.theme = options.themes[flag];
} else if (app.flags.text.match(flag)) {
ret.text = app.flags.text.output(flag);
} else if (app.flags.font.match(flag)) {
ret.font = app.flags.font.output(flag);
} else if (app.flags.auto.match(flag)) {
ret.auto = true;
}
}
return render ? ret : false;
};
if (!canvas.getContext) {
fallback = true;
} else {
if (canvas.toDataURL("image/png")
.indexOf("data:image/png") < 0) {
//Android doesn't support data URI
fallback = true;
} else {
var ctx = canvas.getContext("2d");
}
}
var dpr = 1, bsr = 1;
if(!fallback){
dpr = window.devicePixelRatio || 1,
bsr = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;
}
var ratio = dpr / bsr;
var fluid_images = [];
var settings = {
domain: "holder.js",
images: "img",
bgnodes: ".holderjs",
themes: {
"gray": {
background: "#eee",
foreground: "#aaa",
size: 12
},
"social": {
background: "#3a5a97",
foreground: "#fff",
size: 12
},
"industrial": {
background: "#434A52",
foreground: "#C2F200",
size: 12
}
},
stylesheet: ".holderjs-fluid {font-size:16px;font-weight:bold;text-align:center;font-family:sans-serif;margin:0}"
};
app.flags = {
dimensions: {
regex: /^(\d+)x(\d+)$/,
output: function (val) {
var exec = this.regex.exec(val);
return {
width: +exec[1],
height: +exec[2]
}
}
},
fluid: {
regex: /^([0-9%]+)x([0-9%]+)$/,
output: function (val) {
var exec = this.regex.exec(val);
return {
width: exec[1],
height: exec[2]
}
}
},
colors: {
regex: /#([0-9a-f]{3,})\:#([0-9a-f]{3,})/i,
output: function (val) {
var exec = this.regex.exec(val);
return {
size: settings.themes.gray.size,
foreground: "#" + exec[2],
background: "#" + exec[1]
}
}
},
text: {
regex: /text\:(.*)/,
output: function (val) {
return this.regex.exec(val)[1];
}
},
font: {
regex: /font\:(.*)/,
output: function (val) {
return this.regex.exec(val)[1];
}
},
auto: {
regex: /^auto$/
}
}
for (var flag in app.flags) {
if (!app.flags.hasOwnProperty(flag)) continue;
app.flags[flag].match = function (val) {
return val.match(this.regex)
}
}
app.add_theme = function (name, theme) {
name != null && theme != null && (settings.themes[name] = theme);
return app;
};
app.add_image = function (src, el) {
var node = selector(el);
if (node.length) {
for (var i = 0, l = node.length; i < l; i++) {
var img = document.createElement("img")
img.setAttribute("data-src", src);
node[i].appendChild(img);
}
}
return app;
};
app.run = function (o) {
var options = extend(settings, o),
images = [], imageNodes = [], bgnodes = [];
if(typeof(options.images) == "string"){
imageNodes = selector(options.images);
}
else if (window.NodeList && options.images instanceof window.NodeList) {
imageNodes = options.images;
} else if (window.Node && options.images instanceof window.Node) {
imageNodes = [options.images];
}
if(typeof(options.bgnodes) == "string"){
bgnodes = selector(options.bgnodes);
} else if (window.NodeList && options.elements instanceof window.NodeList) {
bgnodes = options.bgnodes;
} else if (window.Node && options.bgnodes instanceof window.Node) {
bgnodes = [options.bgnodes];
}
preempted = true;
for (i = 0, l = imageNodes.length; i < l; i++) images.push(imageNodes[i]);
var holdercss = document.getElementById("holderjs-style");
if (!holdercss) {
holdercss = document.createElement("style");
holdercss.setAttribute("id", "holderjs-style");
holdercss.type = "text/css";
document.getElementsByTagName("head")[0].appendChild(holdercss);
}
if (!options.nocss) {
if (holdercss.styleSheet) {
holdercss.styleSheet.cssText += options.stylesheet;
} else {
holdercss.appendChild(document.createTextNode(options.stylesheet));
}
}
var cssregex = new RegExp(options.domain + "\/(.*?)\"?\\)");
for (var l = bgnodes.length, i = 0; i < l; i++) {
var src = window.getComputedStyle(bgnodes[i], null)
.getPropertyValue("background-image");
var flags = src.match(cssregex);
var bgsrc = bgnodes[i].getAttribute("data-background-src");
if (flags) {
var holder = parse_flags(flags[1].split("/"), options);
if (holder) {
render("background", bgnodes[i], holder, src);
}
}
else if(bgsrc != null){
var holder = parse_flags(bgsrc.substr(bgsrc.lastIndexOf(options.domain) + options.domain.length + 1)
.split("/"), options);
if(holder){
render("background", bgnodes[i], holder, src);
}
}
}
for (l = images.length, i = 0; i < l; i++) {
var attr_src = attr_data_src = src = null;
try{
attr_src = images[i].getAttribute("src");
attr_datasrc = images[i].getAttribute("data-src");
}catch(e){}
if (attr_datasrc == null && !! attr_src && attr_src.indexOf(options.domain) >= 0) {
src = attr_src;
} else if ( !! attr_datasrc && attr_datasrc.indexOf(options.domain) >= 0) {
src = attr_datasrc;
}
if (src) {
var holder = parse_flags(src.substr(src.lastIndexOf(options.domain) + options.domain.length + 1)
.split("/"), options);
if (holder) {
if (holder.fluid) {
render("fluid", images[i], holder, src)
} else {
render("image", images[i], holder, src);
}
}
}
}
return app;
};
contentLoaded(win, function () {
if (window.addEventListener) {
window.addEventListener("resize", fluid_update, false);
window.addEventListener("orientationchange", fluid_update, false);
} else {
window.attachEvent("onresize", fluid_update)
}
preempted || app.run();
});
if (typeof define === "function" && define.amd) {
define("Holder", [], function () {
return app;
});
}
})(Holder, window);
@@ -1,8 +0,0 @@
/*
HTML5 Shiv v3.6.2pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",version:"3.6.2pre",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);
@@ -1,5 +0,0 @@
/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery.min.map
*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(Line truncated
return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+Line truncated
}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}reLine truncated
@@ -1,9 +0,0 @@
//
// LESS - Leaner CSS v1.3.3
// http://lesscss.org
//
// Copyright (c) 2009-2013, Alexis Sellier
// Licensed under the Apache 2.0 License.
//
(function(e,t){function n(t){return e.less[t.split("/")[1]]}function f(){r.env==="development"?(r.optimization=0,r.watchTimer=setInterval(function(){r.watchMode&&g(function(e,t,n,r,i){t&&S(t.toCSS(),r,i.lastModified)})},r.poll)):r.optimization=3}function m(){var e=document.getElementsByTagName("style");for(var t=0;t<e.length;t++)e[t].type.match(p)&&(new r.Parser({filename:document.location.href.replace(/#.*$/,""),dumpLineNumbers:r.dumpLineNumbers})).parse(e[t].innerHTML||"",function(n,r){var i=r.toCSS(),s=e[t];s.type="text/css",s.styleSheet?s.styleSheet.cssText=i:s.innerHTML=i})}function g(e,t){for(var n=0;n<r.sheets.length;n++)w(r.sheets[n],e,t,r.sheets.length-(n+1))}function y(e,t){var n=b(e),r=b(t),i,s,o,u,a="";if(n.hostPart!==r.hostPart)return"";s=Math.max(r.directories.length,n.directories.length);for(i=0;i<s;i++)if(r.directories[i]!==n.directories[i])break;u=r.directories.slice(i),o=n.directories.slice(i);for(i=0;i<u.length-1;i++)a+="../";for(i=0;i<o.length-1;i++)a+=o[i]+"/";return a}function b(e,t){var n=/^((?:[a-z-]+:)?\/\/(?:[^\/\?#]*\/)|([\/\\]))?((?:[^\/\\\?#]*[\/\\])*)([^\/\\\?#]*)([#\?].*)?$/,r=e.match(n),i={},s=[],o,u;if(!r)throw new Error("Could not parse sheet href - '"+e+"'");if(!r[1]||r[2]){u=t.match(n);if(!u)throw new Error("Could not parse page url - '"+t+"'");r[1]=u[1],r[2]||(r[3]=u[3]+r[3])}if(r[3]){s=r[3].replace("\\","/").split("/");for(o=0;o<s.length;o++)s[o]===".."&&o>0&&(s.splice(o-1,2),o-=2)}return i.hostPart=r[1],i.directories=s,i.path=r[1]+s.join("/"),i.fileUrl=i.path+(r[4]||""),i.url=i.fileUrl+(r[5]||""),i}function w(t,n,i,s){var o=t.contents||{},u=t.files||{},a=b(t.href,e.location.href),f=a.url,c=l&&l.getItem(f),h=l&&l.getItem(f+":timestamp"),p={css:c,timestamp:h},d;r.relativeUrls?r.rootpath?t.entryPath?d=b(r.rootpath+y(a.path,t.entryPath)).path:d=r.rootpath:d=a.path:r.rootpath?d=r.rootpath:t.entryPath?d=t.entryPath:d=a.path,x(f,t.type,function(e,l){v+=e.replace(/@import .+?;/ig,"");if(!i&&p&&l&&(new Date(l)).valueOf()===(new Date(p.timestamp)).valueOf())S(p.css,t),n(null,null,e,t,{local:!0,remaining:s},f);else try{o[f]=e,(new r.Parser({optimization:r.optimization,paths:[a.path],entryPath:t.entryPath||a.path,mime:t.type,filename:f,rootpath:d,relativeUrls:t.relativeUrls,contents:o,files:u,dumpLineNumbers:r.dumpLineNumbers})).parse(e,function(r,i){if(r)return k(r,f);try{n(r,i,e,t,{local:!1,lastModified:l,remaining:s},f),N(document.getElementById("less-error-message:"+E(f)))}catch(r){k(r,f)}})}catch(c){k(c,f)}},function(e,t){throw new Error("Couldn't load "+t+" ("+e+")")})}function E(e){return e.replace(/^[a-z]+:\/\/?[^\/]+/,"").replace(/^\//,"").replace(/\.[a-zA-Z]+$/,"").replace(/[^\.\w-]+/g,"-").replace(/\./g,":")}function S(e,t,n){var r,i=t.href||"",s="less:"+(t.title||E(i));if((r=document.getElementById(s))===null){r=document.createElement("style"),r.type="text/css",t.media&&(r.media=t.media),r.id=s;var o=t&&t.nextSibling||null;(o||document.getElementsByTagName("head")[0]).parentNode.insertBefore(r,o)}if(r.styleSheet)try{r.styleSheet.cssText=e}catch(u){throw new Error("Couldn't reassign styleSheet.cssText.")}else(function(e){r.childNodes.length>0?r.firstChild.nodeValue!==e.nodeValue&&r.replaceChild(e,r.firstChild):r.appendChild(e)})(document.createTextNode(e));if(n&&l){C("saving "+i+" to cache.");try{l.setItem(i,e),l.setItem(i+":timestamp",n)}catch(u){C("failed to save")}}}function x(e,t,n,i){function a(t,n,r){t.status>=200&&t.status<300?n(t.responseText,t.getResponseHeader("Last-Modified")):typeof r=="function"&&r(t.status,e)}var s=T(),u=o?r.fileAsync:r.async;typeof s.overrideMimeType=="function"&&s.overrideMimeType("text/css"),s.open("GET",e,u),s.setRequestHeader("Accept",t||"text/x-less, text/css; q=0.9, */*; q=0.5"),s.send(null),o&&!r.fileAsync?s.status===0||s.status>=200&&s.status<300?n(s.responseText):i(s.status,e):u?s.onreadystatechange=function(){s.readyState==4&&a(s,n,i)}:a(s,n,i)}function T(){if(e.XMLHttpRequest)return new XMLHttpRequest;try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(t){return C("browser doesn't support AJAX."),null}}function N(e){return e&&e.parentNode.removeChild(e)}function C(e){r.env=="development"&&typeof console!="undefined"&&console.log("less: "+e)}function k(e,t){var n="less-error-message:"+E(t),i='<li><label>{line}</label><pre class="{class}">{content}</pre></li>',s=document.createElement("div"),o,u,a=[],f=e.filename||t,l=f.match(/([^\/]+(\?.*)?)$/)[1];s.id=n,s.className="less-error-message",u="<h3>"+(e.message||"There is an error in your .less file")+"</h3>"+'<p>in <a href="'+f+'">'+l+"</a> ";var c=function(e,t,n){e.extract[t]&&a.push(i.replace(/\{line\}/,parseInt(e.line)+(t-1)).replace(/\{class\}/,n).replace(/\{content\}/,e.extract[t]))};e.stack?u+="<br/>"+e.stack.split("\n").slice(1).join("<br/>"):e.extract&&(c(e,0,""),c(e,1,"line"),c(e,2,""),u+="on line "+e.line+", column "+(e.column+1)+":</p>"+"<ul>"+a.join("")+"</ul>"),s.innerHTML=u,S([".less-error-message ul, .less-error-message li {","list-style-type: none;","margin-rigLine truncated
:"#9acd32"}}(n("./tree")),function(e){e.Alpha=function(e){this.value=e},e.Alpha.prototype={toCSS:function(){return"alpha(opacity="+(this.value.toCSS?this.value.toCSS():this.value)+")"},eval:function(e){return this.value.eval&&(this.value=this.value.eval(e)),this}}}(n("../tree")),function(e){e.Anonymous=function(e){this.value=e.value||e},e.Anonymous.prototype={toCSS:function(){return this.value},eval:function(){return this},compare:function(e){if(!e.toCSS)return-1;var t=this.toCSS(),n=e.toCSS();return t===n?0:t<n?-1:1}}}(n("../tree")),function(e){e.Assignment=function(e,t){this.key=e,this.value=t},e.Assignment.prototype={toCSS:function(){return this.key+"="+(this.value.toCSS?this.value.toCSS():this.value)},eval:function(t){return this.value.eval?new e.Assignment(this.key,this.value.eval(t)):this}}}(n("../tree")),function(e){e.Call=function(e,t,n,r){this.name=e,this.args=t,this.index=n,this.filename=r},e.Call.prototype={eval:function(t){var n=this.args.map(function(e){return e.eval(t)}),r;if(this.name in e.functions)try{r=e.functions[this.name].apply(e.functions,n);if(r!=null)return r}catch(i){throw{type:i.type||"Runtime",message:"error evaluating function `"+this.name+"`"+(i.message?": "+i.message:""),index:this.index,filename:this.filename}}return new e.Anonymous(this.name+"("+n.map(function(e){return e.toCSS(t)}).join(", ")+")")},toCSS:function(e){return this.eval(e).toCSS()}}}(n("../tree")),function(e){e.Color=function(e,t){Array.isArray(e)?this.rgb=e:e.length==6?this.rgb=e.match(/.{2}/g).map(function(e){return parseInt(e,16)}):this.rgb=e.split("").map(function(e){return parseInt(e+e,16)}),this.alpha=typeof t=="number"?t:1},e.Color.prototype={eval:function(){return this},toCSS:function(){return this.alpha<1?"rgba("+this.rgb.map(function(e){return Math.round(e)}).concat(this.alpha).join(", ")+")":"#"+this.rgb.map(function(e){return e=Math.round(e),e=(e>255?255:e<0?0:e).toString(16),e.length===1?"0"+e:e}).join("")},operate:function(t,n){var r=[];n instanceof e.Color||(n=n.toColor());for(var i=0;i<3;i++)r[i]=e.operate(t,this.rgb[i],n.rgb[i]);return new e.Color(r,this.alpha+n.alpha)},toHSL:function(){var e=this.rgb[0]/255,t=this.rgb[1]/255,n=this.rgb[2]/255,r=this.alpha,i=Math.max(e,t,n),s=Math.min(e,t,n),o,u,a=(i+s)/2,f=i-s;if(i===s)o=u=0;else{u=a>.5?f/(2-i-s):f/(i+s);switch(i){case e:o=(t-n)/f+(t<n?6:0);break;case t:o=(n-e)/f+2;break;case n:o=(e-t)/f+4}o/=6}return{h:o*360,s:u,l:a,a:r}},toARGB:function(){var e=[Math.round(this.alpha*255)].concat(this.rgb);return"#"+e.map(function(e){return e=Math.round(e),e=(e>255?255:e<0?0:e).toString(16),e.length===1?"0"+e:e}).join("")},compare:function(e){return e.rgb?e.rgb[0]===this.rgb[0]&&e.rgb[1]===this.rgb[1]&&e.rgb[2]===this.rgb[2]&&e.alpha===this.alpha?0:-1:-1}}}(n("../tree")),function(e){e.Comment=function(e,t){this.value=e,this.silent=!!t},e.Comment.prototype={toCSS:function(e){return e.compress?"":this.value},eval:function(){return this}}}(n("../tree")),function(e){e.Condition=function(e,t,n,r,i){this.op=e.trim(),this.lvalue=t,this.rvalue=n,this.index=r,this.negate=i},e.Condition.prototype.eval=function(e){var t=this.lvalue.eval(e),n=this.rvalue.eval(e),r=this.index,i,i=function(e){switch(e){case"and":return t&&n;case"or":return t||n;default:if(t.compare)i=t.compare(n);else{if(!n.compare)throw{type:"Type",message:"Unable to perform comparison",index:r};i=n.compare(t)}switch(i){case-1:return e==="<"||e==="=<";case 0:return e==="="||e===">="||e==="=<";case 1:return e===">"||e===">="}}}(this.op);return this.negate?!i:i}}(n("../tree")),function(e){e.Dimension=function(e,t){this.value=parseFloat(e),this.unit=t||null},e.Dimension.prototype={eval:function(){return this},toColor:function(){return new e.Color([this.value,this.value,this.value])},toCSS:function(){var e=this.value+this.unit;return e},operate:function(t,n){return new e.Dimension(e.operate(t,this.value,n.value),this.unit||n.unit)},compare:function(t){return t instanceof e.Dimension?t.value>this.value?-1:t.value<this.value?1:t.unit&&this.unit!==t.unit?-1:0:-1}}}(n("../tree")),function(e){e.Directive=function(t,n){this.name=t,Array.isArray(n)?(this.ruleset=new e.Ruleset([],n),this.ruleset.allowImports=!0):this.value=n},e.Directive.prototype={toCSS:function(e,t){return this.ruleset?(this.ruleset.root=!0,this.name+(t.compress?"{":" {\n ")+this.ruleset.toCSS(e,t).trim().replace(/\n/g,"\n ")+(t.compress?"}":"\n}\n")):this.name+" "+this.value.toCSS()+";\n"},eval:function(t){var n=this;return this.ruleset&&(t.frames.unshift(this),n=new e.Directive(this.name),n.ruleset=this.ruleset.eval(t),t.frames.shift()),n},variable:function(t){return e.Ruleset.prototype.variable.call(this.ruleset,t)},find:function(){return e.Ruleset.prototype.find.apply(this.ruleset,arguments)},rulesets:function(){return e.Ruleset.prototype.rulesets.apply(this.ruleset)}}}(n("../tree")),function(e){e.Element=function(t,n,r){this.combinator=t instanceof e.Combinator?t:new e.Combinator(t),typeof n=="string"?this.value=n.trim():n?this.value=n:thisLine truncated
@@ -1,6 +0,0 @@
/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
/*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
window.matchMedia=window.matchMedia||function(a){"use strict";var c,d=a.documentElement,e=d.firstElementChild||d.firstChild,f=a.createElement("body"),g=a.createElement("div");return g.id="mq-test-1",g.style.cssText="position:absolute;top:-100em",f.style.background="none",f.appendChild(g),function(a){return g.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',d.insertBefore(f,e),c=42===g.offsetWidth,d.removeChild(f),{matches:c,media:a}}}(document);
/*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */
(function(a){"use strict";function x(){u(!0)}var b={};a.respond=b,b.update=function(){},b.mediaQueriesSupported=a.matchMedia&&a.matchMedia("only all").matches,b.mediaQueriesSupported;var q,r,t,c=a.document,d=c.documentElement,e=[],f=[],g=[],h={},i=30,j=c.getElementsByTagName("head")[0]||d,k=c.getElementsByTagName("base")[0],l=j.getElementsByTagName("link"),m=[],n=function(){for(var b=0;l.length>b;b++){var c=l[b],d=c.href,e=c.media,f=c.rel&&"stylesheet"===c.rel.toLowerCase();d&&f&&!h[d]&&(c.styleSheet&&c.styleSheet.rawCssText?(p(c.styleSheet.rawCssText,d,e),h[d]=!0):(!/^([a-zA-Z:]*\/\/)/.test(d)&&!k||d.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&m.push({href:d,media:e}))}o()},o=function(){if(m.length){var a=m.shift();v(a.href,function(b){p(b,a.href,a.media),h[a.href]=!0,setTimeout(function(){o()},0)})}},p=function(a,b,c){var d=a.match(/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi),g=d&&d.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+b+"$2$3")},i=!g&&c;b.length&&(b+="/"),i&&(g=1);for(var j=0;g>j;j++){var k,l,m,n;i?(k=c,f.push(h(a))):(k=d[j].match(/@media *([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1,f.push(RegExp.$2&&h(RegExp.$2))),m=k.split(","),n=m.length;for(var o=0;n>o;o++)l=m[o],e.push({media:l.split("(")[0].match(/(only\s+)?([a-zA-Z]+)\s?/)&&RegExp.$2||"all",rules:f.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},s=function(){var a,b=c.createElement("div"),e=c.body,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",e||(e=f=c.createElement("body"),e.style.background="none"),e.appendChild(b),d.insertBefore(e,d.firstChild),a=b.offsetWidth,f?d.removeChild(e):e.removeChild(b),a=t=parseFloat(a)},u=function(a){var b="clientWidth",h=d[b],k="CSS1Compat"===c.compatMode&&h||c.body[b]||h,m={},n=l[l.length-1],o=(new Date).getTime();if(a&&q&&i>o-q)return clearTimeout(r),r=setTimeout(u,i),void 0;q=o;for(var p in e)if(e.hasOwnProperty(p)){var v=e[p],w=v.minw,x=v.maxw,y=null===w,z=null===x,A="em";w&&(w=parseFloat(w)*(w.indexOf(A)>-1?t||s():1)),x&&(x=parseFloat(x)*(x.indexOf(A)>-1?t||s():1)),v.hasquery&&(y&&z||!(y||k>=w)||!(z||x>=k))||(m[v.media]||(m[v.media]=[]),m[v.media].push(f[v.rules]))}for(var B in g)g.hasOwnProperty(B)&&g[B]&&g[B].parentNode===j&&j.removeChild(g[B]);for(var C in m)if(m.hasOwnProperty(C)){var D=c.createElement("style"),E=m[C].join("\n");D.type="text/css",D.media=C,j.insertBefore(D,n.nextSibling),D.styleSheet?D.styleSheet.cssText=E:D.appendChild(c.createTextNode(E)),g.push(D)}},v=function(a,b){var c=w();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},w=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}();n(),b.update=n,a.addEventListener?a.addEventListener("resize",x,!1):a.attachEvent&&a.attachEvent("onresize",x)})(this);
@@ -1,14 +0,0 @@
/** @license uglifyweb Copyright (c) 2011, The Dojo Foundation All Rights Reserved.
* The parts that are unique to this repo (not much, just some wrapper code) are
* released under the new BSD and MIT licenses.
*
* This file includes UglifyJS and some parts of es5-shim, both which have
* their own licenses:
*
* https://github.com/mishoo/UglifyJS (BSD)
* https://github.com/kriskowal/es5-shim (MIT)
*
* More info on the project: https://github.com/jrburke/uglifyweb
*/
(function(){var a=Object.prototype.toString,b="a"[0]!="a",c=function(a){if(a==null)throw new TypeError;return b&&typeof a=="string"&&a?a.split(""):Object(a)};Array.prototype.forEach||(Array.prototype.forEach=function(a){var b=c(this),d=arguments[1],e=0,f=b.length>>>0;while(e<f)e in b&&a.call(d,b[e],e,b),e++}),Array.prototype.reduce||(Array.prototype.reduce=function(a){var b=c(this),d=b.length>>>0;if(!d&&arguments.length==1)throw new TypeError;var e=0,f;if(arguments.length<2){do{if(e in b){f=b[e++];break}if(++e>=d)throw new TypeError}while(!0)}else f=arguments[1];for(;e<d;e++)e in b&&(f=a.call(void 0,f,b[e],e,b));return f});var d,e,f;(function(){function g(a,b){if(a&&a.charAt(0)==="."&&b){b=b.split("/"),b=b.slice(0,b.length-1),a=b.concat(a.split("/"));var c,d;for(c=0;d=a[c];c++)if(d===".")a.splice(c,1),c-=1;else if(d==="..")if(c!==1||a[2]!==".."&&a[0]!=="..")c>0&&(a.splice(c-1,2),c-=2);else break;a=a.join("/")}return a}function h(a,d){return function(){return c.apply(null,b.call(arguments,0).concat([a,d]))}}function i(a){return function(b){return g(b,a)}}function j(b){return function(c){a[b]=c}}function k(b,c){var d,e,f=b.indexOf("!");return f!==-1?(d=g(b.slice(0,f),c),b=b.slice(f+1),e=a[d],e&&e.normalize?b=e.normalize(b,i(c)):b=g(b,c)):b=g(b,c),{f:d?d+"!"+b:b,n:b,p:e}}function l(b,c,d,e){var f=[],g,i,l,m,n,o;e||(e=b);if(typeof d=="function"){if(c)for(m=0;m<c.length;m++)o=k(c[m],e),l=o.f,l==="require"?f[m]=h(b):l==="exports"?(f[m]=a[b]={},g=!0):l==="module"?i=f[m]={id:b,uri:"",exports:a[b]}:l in a?f[m]=a[l]:o.p&&(o.p.load(o.n,h(e,!0),j(l),{}),f[m]=a[l]);n=d.apply(a[b],f),b&&(i&&i.exports!==undefined?a[b]=i.exports:g||(a[b]=n))}else b&&(a[b]=d)}var a={},b=[].slice,c;if(typeof f=="function")return;d=c=function(b,d,e,f){return typeof b=="string"?a[k(b,d).f]:(b.splice||(d.splice?(b=d,d=arguments[2]):b=[]),f?l(null,b,d,e):setTimeout(function(){l(null,b,d,e)},15),c)},c.config=function(){return c},e||(e=c),f=function(a,b,c){b.splice||(c=b,b=[]),l(a,b,c)},f.amd={}})(),f("almond",function(){}),f("lib/parse-js",["require","exports","module"],function(a,b,c){function r(a){return q.letter.test(a)}function s(a){return a=a.charCodeAt(0),a>=48&&a<=57}function t(a){return s(a)||r(a)}function u(a){return q.non_spacing_mark.test(a)||q.space_combining_mark.test(a)}function v(a){return q.connector_punctuation.test(a)}function w(a){return a=="$"||a=="_"||r(a)}function x(a){return w(a)||u(a)||s(a)||v(a)||a=="‌"||a=="‍"}function y(a){if(i.test(a))return parseInt(a.substr(2),16);if(j.test(a))return parseInt(a.substr(1),8);if(k.test(a))return parseFloat(a)}function z(a,b,c,d){this.message=a,this.line=b,this.col=c,this.pos=d,this.stack=(new Error).stack}function A(a,b,c,d){throw new z(a,b,c,d)}function B(a,b,c){return a.type==b&&(c==null||a.value==c)}function D(a){function c(){return b.text.charAt(b.pos)}function e(a,c){var d=b.text.charAt(b.pos++);if(a&&!d)throw C;return d=="\n"?(b.newline_before=b.newline_before||!c,++b.line,b.col=0):++b.col,d}function i(){return!b.peek()}function j(a,c){var d=b.text.indexOf(a,b.pos);if(c&&d==-1)throw C;return d}function k(){b.tokline=b.line,b.tokcol=b.col,b.tokpos=b.pos}function p(a,c,d){b.regex_allowed=a=="operator"&&!S(F,c)||a=="keyword"&&S(f,c)||a=="punc"&&S(n,c);var e={type:a,value:c,line:b.tokline,col:b.tokcol,pos:b.tokpos,nlb:b.newline_before};return d||(e.comments_before=b.comments_before,b.comments_before=[]),b.newline_before=!1,e}function q(){while(S(m,c()))e()}function r(a){var b="",d=c(),f=0;while(d&&a(d,f++))b+=e(),d=c();return b}function u(a){A(a,b.tokline,b.tokcol,b.tokpos)}function v(a){var b=!1,c=!1,d=!1,e=a==".",f=r(function(f,g){return f=="x"||f=="X"?d?!1:d=!0:!!d||f!="E"&&f!="e"?f=="-"?c||g==0&&!a?!0:!1:f=="+"?c:(c=!1,f=="."?!e&&!d?e=!0:!1:t(f)):b?!1:b=c=!0});a&&(f=a+f);var g=y(f);if(!isNaN(g))return p("num",g);u("Invalid syntax: "+f)}function z(a){var b=e(!0,a);switch(b){case"n":return"\n";case"r":return"\r";case"t":return"\t";case"b":return"\b";case"v":return" ";case"f":return"\f";case"0":return"\0";case"x":return String.fromCharCode(B(2));case"u":return String.fromCharCode(B(4));case"\n":return"";default:return b}}function B(a){var b=0;for(;a>0;--a){var c=parseInt(e(!0),16);isNaN(c)&&u("Invalid hex-character pattern in string"),b=b<<4|c}return b}function D(){return N("Unterminated string constant",function(){var a=e(),b="";for(;;){var c=e(!0);if(c=="\\"){var d=0,f=null;c=r(function(a){if(a>="0"&&a<="7"){if(!f)return f=a,++d;if(f<="3"&&d<=2)return++d;if(f>="4"&&d<=1)return++d}return!1}),d>0?c=String.fromCharCode(parseInt(c,8)):c=z(!0)}else if(c==a)break;b+=c}return p("string",b)})}function E(){e();var a=j("\n"),c;return a==-1?(c=b.text.substr(b.pos),b.pos=b.text.length):(c=b.text.substring(b.pos,a),b.pos=a),p("comment1",c,!0)}function G(){return e(),N("Unterminated multiline comment",function(){var a=j("*/",!0),c=b.text.substring(b.pos,a),d=p("comment2",c,!0);return b.pos=a+2,b.line+=c.split("\n").length-1,b.newline_before=c.indexOf("\n")>=0,/^@cc_on/i.test(c)&&(T("WARNINLine truncated
@@ -1,11 +0,0 @@
{
"name": "bootstrap",
"version": "3.0.0",
"main": ["./dist/js/bootstrap.js", "./dist/css/bootstrap.css"],
"ignore": [
"**/.*"
],
"dependencies": {
"jquery": ">= 1.9.0"
}
}
@@ -1,37 +0,0 @@
{
"username": "--secure--",
"key": "--secure--",
"test_path": "js/tests/index.html",
"browsers": [
{
"browser": "firefox",
"browser_version": "latest",
"os": "OS X",
"os_version": "Mountain Lion"
},
{
"browser": "safari",
"browser_version": "latest",
"os": "OS X",
"os_version": "Mountain Lion"
},
{
"browser": "chrome",
"browser_version": "latest",
"os": "OS X",
"os_version": "Mountain Lion"
},
{
"browser": "firefox",
"browser_version": "latest",
"os": "Windows",
"os_version": "7"
},
{
"browser": "chrome",
"browser_version": "latest",
"os": "Windows",
"os_version": "7"
}
]
}
@@ -1,20 +0,0 @@
{
"name": "twbs/bootstrap"
, "description": "Sleek, intuitive, and powerful front-end framework for faster and easier web development."
, "keywords": ["bootstrap", "css"]
, "homepage": "http://getbootstrap.com"
, "authors": [
{
"name": "Mark Otto",
"email": "markdotto@gmail.com"
},
{
"name": "Jacob Thornton",
"email": "jacobthornton@gmail.com"
}
]
, "support": {
"issues": "https://github.com/twbs/bootstrap/issues"
}
, "license": "Apache-2.0"
}
@@ -1,9 +0,0 @@
/*!
* Bootstrap v3.0.0
*
* Copyright 2013 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world by @mdo and @fat.
*//*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,input,select[multiple],textarea{background-image:none}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16.099999999999998px;font-weight:200;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-warning{color:#c09853}.text-danger{color:#b94a48}.text-success{color:#468847}.text-info{color:#3a87ad}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}h1,.h1{font-size:38px}h2,.h2{font-size:32px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}h1 small,.h1 small{font-size:24px}h2 small,.h2 small{font-size:18px}h3 small,.h3 small,h4 small,.h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;paddiLine truncated
@@ -1,6 +0,0 @@
/**
* bootstrap.js v3.0.0 by @fat and @mdo
* Copyright 2013 Twitter Inc.
* http://www.apache.org/licenses/LICENSE-2.0
*/
if(!jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(functLine truncated
@@ -1,134 +0,0 @@
/* GLOBAL STYLES
-------------------------------------------------- */
/* Padding below the footer and lighter body text */
body {
padding-bottom: 40px;
color: #5a5a5a;
}
/* CUSTOMIZE THE NAVBAR
-------------------------------------------------- */
/* Special class on .container surrounding .navbar, used for positioning it into place. */
.navbar-wrapper {
position: relative;
z-index: 15;
}
/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */
/* Carousel base class */
.carousel {
margin-bottom: 60px;
/* Negative margin to pull up carousel. 90px is roughly margins and height of navbar. */
margin-top: -90px;
}
/* Since positioning the image, we need to help out the caption */
.carousel-caption {
z-index: 10;
}
/* Declare heights because of positioning of img element */
.carousel .item {
height: 500px;
}
.carousel-inner > .item > img {
position: absolute;
top: 0;
left: 0;
min-width: 100%;
height: 500px;
}
/* MARKETING CONTENT
-------------------------------------------------- */
/* Pad the edges of the mobile views a bit */
.marketing {
padding-left: 15px;
padding-right: 15px;
}
/* Center align the text within the three columns below the carousel */
.marketing .col-lg-4 {
text-align: center;
margin-bottom: 20px;
}
.marketing h2 {
font-weight: normal;
}
.marketing .col-lg-4 p {
margin-left: 10px;
margin-right: 10px;
}
/* Featurettes
------------------------- */
.featurette-divider {
margin: 80px 0; /* Space out the Bootstrap <hr> more */
}
.featurette {
padding-top: 120px; /* Vertically center images part 1: add padding above and below text. */
overflow: hidden; /* Vertically center images part 2: clear their floats. */
}
.featurette-image {
margin-top: -120px; /* Vertically center images part 3: negative margin up the image the same amount of the padding to center it. */
}
/* Give some space on the sides of the floated elements so text doesn't run right into it. */
.featurette-image.pull-left {
margin-right: 40px;
}
.featurette-image.pull-right {
margin-left: 40px;
}
/* Thin out the marketing headings */
.featurette-heading {
font-size: 50px;
font-weight: 300;
line-height: 1;
letter-spacing: -1px;
}
/* RESPONSIVE CSS
-------------------------------------------------- */
@media (min-width: 768px) {
/* Remve the edge padding needed for mobile */
.marketing {
padding-left: 0;
padding-right: 0;
}
/* Navbar positioning foo */
.navbar-wrapper {
margin-top: 20px;
}
/* The navbar becomes detached from the top, so we round the corners */
.navbar-wrapper .navbar {
border-radius: 4px;
}
/* Bump up size of carousel content */
.carousel-caption p {
margin-bottom: 20px;
font-size: 21px;
line-height: 1.4;
}
}
@@ -1,184 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Carousel Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
<link href="../../dist/css/bootstrap-glyphicons.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="carousel.css" rel="stylesheet">
</head>
<!-- NAVBAR
================================================== -->
<body>
<div class="navbar-wrapper">
<div class="container">
<div class="navbar navbar-inverse navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li class="dropdown-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- Carousel
================================================== -->
<div id="myCarousel" class="carousel slide">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ol>
<div class="carousel-inner">
<div class="item active">
<img data-src="holder.js/1500x500/auto/#777:#7a7a7a/text:First slide" alt="">
<div class="container">
<div class="carousel-caption">
<h1>Example headline.</h1>
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
<p><a class="btn btn-large btn-primary" href="#">Sign up today</a></p>
</div>
</div>
</div>
<div class="item">
<img data-src="holder.js/1500x500/auto/#777:#7a7a7a/text:Second slide" alt="">
<div class="container">
<div class="carousel-caption">
<h1>Another example headline.</h1>
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
<p><a class="btn btn-large btn-primary" href="#">Learn more</a></p>
</div>
</div>
</div>
<div class="item">
<img data-src="holder.js/1500x500/auto/#777:#7a7a7a/text:Third slide" alt="">
<div class="container">
<div class="carousel-caption">
<h1>One more for good measure.</h1>
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
<p><a class="btn btn-large btn-primary" href="#">Browse gallery</a></p>
</div>
</div>
</div>
</div>
<a class="left carousel-control" href="#myCarousel" data-slide="prev"><span class="glyphicon glyphicon-chevron-left"></span></a>
<a class="right carousel-control" href="#myCarousel" data-slide="next"><span class="glyphicon glyphicon-chevron-right"></span></a>
</div><!-- /.carousel -->
<!-- Marketing messaging and featurettes
================================================== -->
<!-- Wrap the rest of the page in another container to center all the content. -->
<div class="container marketing">
<!-- Three columns of text below the carousel -->
<div class="row">
<div class="col-lg-4">
<img class="img-circle" data-src="holder.js/140x140">
<h2>Heading</h2>
<p>Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus magna.</p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div><!-- /.col-lg-4 -->
<div class="col-lg-4">
<img class="img-circle" data-src="holder.js/140x140">
<h2>Heading</h2>
<p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.</p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div><!-- /.col-lg-4 -->
<div class="col-lg-4">
<img class="img-circle" data-src="holder.js/140x140">
<h2>Heading</h2>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div><!-- /.col-lg-4 -->
</div><!-- /.row -->
<!-- START THE FEATURETTES -->
<hr class="featurette-divider">
<div class="featurette">
<img class="featurette-image img-circle pull-right" data-src="holder.js/512x512">
<h2 class="featurette-heading">First featurette heading. <span class="text-muted">It'll blow your mind.</span></h2>
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
</div>
<hr class="featurette-divider">
<div class="featurette">
<img class="featurette-image img-circle pull-left" data-src="holder.js/512x512">
<h2 class="featurette-heading">Oh yeah, it's that good. <span class="text-muted">See for yourself.</span></h2>
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
</div>
<hr class="featurette-divider">
<div class="featurette">
<img class="featurette-image img-circle pull-right" data-src="holder.js/512x512">
<h2 class="featurette-heading">And lastly, this one. <span class="text-muted">Checkmate.</span></h2>
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
</div>
<hr class="featurette-divider">
<!-- /END THE FEATURETTES -->
<!-- FOOTER -->
<footer>
<p class="pull-right"><a href="#">Back to top</a></p>
<p>&copy; 2013 Company, Inc. &middot; <a href="#">Privacy</a> &middot; <a href="#">Terms</a></p>
</footer>
</div><!-- /.container -->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="../../assets/js/jquery.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<script src="../../assets/js/holder.js"></script>
</body>
</html>
@@ -1,28 +0,0 @@
.container {
padding-left: 15px;
padding-right: 15px;
}
h4 {
margin-top: 25px;
}
.row {
margin-bottom: 20px;
}
.row .row {
margin-top: 10px;
margin-bottom: 0;
}
[class*="col-"] {
padding-top: 15px;
padding-bottom: 15px;
background-color: #eee;
border: 1px solid #ddd;
background-color: rgba(86,61,124,.15);
border: 1px solid rgba(86,61,124,.2);
}
hr {
margin-top: 40px;
margin-bottom: 40px;
}
@@ -1,108 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Grid Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="grid.css" rel="stylesheet">
</head>
<body>
<div class="container">
<div class="page-header">
<h1>Bootstrap grid examples</h1>
<p class="lead">Basic grid layouts to get you familiar with building within the Bootstrap grid system.</p>
</div>
<h3>Three equal columns</h3>
<p>Get three equal-width columns <strong>starting at desktops and scaling to large desktops</strong>. On mobile devices, tablets and below, the columns will automatically stack.</p>
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
</div>
<h3>Three unequal columns</h3>
<p>Get three columns <strong>starting at desktops and scaling to large desktops</strong> of various widths. Remember, grid columns should add up to twelve for a single horizontal block. More than that, and columns start stacking no matter the viewport.</p>
<div class="row">
<div class="col-md-3">.col-md-3</div>
<div class="col-md-6">.col-md-6</div>
<div class="col-md-3">.col-md-3</div>
</div>
<h3>Two columns</h3>
<p>Get two columns <strong>starting at desktops and scaling to large desktops</strong>.</p>
<div class="row">
<div class="col-md-8">.col-md-8</div>
<div class="col-md-4">.col-md-4</div>
</div>
<h3>Full width, single column</h3>
<p class="text-warning">No grid classes are necessary for full-width elements.</p>
<hr>
<h3>Two columns with two nested columns</h3>
<p>Per the documentation, nesting is easy—just put a row of columns within an existing row. This gives you two columns <strong>starting at desktops and scaling to large desktops</strong>, with another two (equal widths) within the larger column.</p>
<p>At mobile device sizes, tablets and down, these columns and their nested columns will stack.</p>
<div class="row">
<div class="col-md-8">
.col-md-8
<div class="row">
<div class="col-md-6">.col-md-6</div>
<div class="col-md-6">.col-md-6</div>
</div>
</div>
<div class="col-md-4">.col-md-4</div>
</div>
<hr>
<h3>Mixed: mobile and desktop</h3>
<p>The Bootstrap 3 grid system has four tiers of classes: xs (phones), sm (tablets), md (desktops), and lg (larger desktops). You can use nearly any combination of these classes to create more dynamic and flexible layouts.</p>
<p>Each tier of classes scales up, meaning if you plan on setting the same widths for xs and sm, you only need to specify xs.</p>
<div class="row">
<div class="col-xs-12 col-md-8">.col-xs-12 .col-md-8</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>
<div class="row">
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>
<div class="row">
<div class="col-xs-6 col-md-6">.col-xs-6 .col-md-6</div>
<div class="col-xs-6 col-md-6">.col-xs-6 .col-md-6</div>
</div>
<hr>
<h3>Mixed: mobile, tablet, and desktop</h3>
<p></p>
<div class="row">
<div class="col-xs-12 col-sm-8 col-lg-8">.col-xs-12 .col-lg-8</div>
<div class="col-xs-6 col-sm-4 col-lg-4">.col-xs-6 .col-lg-4</div>
</div>
<div class="row">
<div class="col-xs-6 col-sm-4 col-lg-4">.col-xs-6 .col-sm-4 .col-lg-4</div>
<div class="col-xs-6 col-sm-4 col-lg-4">.col-xs-6 .col-sm-4 .col-lg-4</div>
<div class="col-xs-6 col-sm-4 col-lg-4">.col-xs-6 .col-sm-4 .col-lg-4</div>
</div>
<div class="row">
<div class="col-xs-6 col-sm-6 col-lg-6">.col-xs-6 .col-sm-6 .col-lg-6</div>
<div class="col-xs-6 col-sm-6 col-lg-6">.col-xs-6 .col-sm-6 .col-lg-6</div>
</div>
</div> <!-- /container -->
</body>
</html>
@@ -1,67 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Narrow Jumbotron Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="jumbotron-narrow.css" rel="stylesheet">
</head>
<body>
<div class="container-narrow">
<div class="header">
<ul class="nav nav-pills pull-right">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
<h3 class="text-muted">Project name</h3>
</div>
<div class="jumbotron">
<h1>Jumbotron heading</h1>
<p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
<p><a class="btn btn-large btn-success" href="#">Sign up today</a></p>
</div>
<div class="row marketing">
<div class="col-lg-6">
<h4>Subheading</h4>
<p>Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.</p>
<h4>Subheading</h4>
<p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p>
<h4>Subheading</h4>
<p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
</div>
<div class="col-lg-6">
<h4>Subheading</h4>
<p>Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.</p>
<h4>Subheading</h4>
<p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p>
<h4>Subheading</h4>
<p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
</div>
</div>
<div class="footer">
<p>&copy; Company 2013</p>
</div>
</div> <!-- /container -->
</body>
</html>
@@ -1,78 +0,0 @@
/* Space out content a bit */
body {
padding-top: 20px;
padding-bottom: 20px;
}
/* Everything but the jumbotron gets side spacing for mobile-first views */
.header,
.marketing,
.footer {
padding-left: 15px;
padding-right: 15px;
}
/* Custom page header */
.header {
border-bottom: 1px solid #e5e5e5;
}
/* Make the masthead heading the same height as the navigation */
.header h3 {
margin-top: 0;
margin-bottom: 0;
line-height: 40px;
padding-bottom: 19px;
}
/* Custom page footer */
.footer {
padding-top: 19px;
color: #777;
border-top: 1px solid #e5e5e5;
}
/* Custom container */
.container-narrow {
margin: 0 auto;
max-width: 700px;
}
.container-narrow > hr {
margin: 30px 0;
}
/* Main marketing message and sign up button */
.jumbotron {
text-align: center;
border-bottom: 1px solid #e5e5e5;
}
.jumbotron .btn {
font-size: 21px;
padding: 14px 24px;
}
/* Supporting marketing content */
.marketing {
margin: 40px 0;
}
.marketing p + h4 {
margin-top: 28px;
}
/* Responsive: Portrait tablets and up */
@media screen and (min-width: 768px) {
/* Remove the padding we set earlier */
.header,
.marketing,
.footer {
padding-left: 0;
padding-right: 0;
}
/* Space out the masthead */
.header {
margin-bottom: 30px;
}
/* Remove the bottom border on the jumbotron for visual effect */
.jumbotron {
border-bottom: 0;
}
}
@@ -1,99 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Jumbotron Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="jumbotron.css" rel="stylesheet">
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li class="dropdown-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
<form class="navbar-form navbar-right">
<input type="text" placeholder="Email" class="form-control">
<input type="password" placeholder="Password" class="form-control">
<button type="submit" class="btn">Sign in</button>
</form>
</div><!--/.navbar-collapse -->
</div>
</div>
<div class="container">
<!-- Main jumbotron for a primary marketing message or call to action -->
<div class="jumbotron">
<h1>Hello, world!</h1>
<p>This is a template for a simple marketing or informational website. It includes a large callout called the hero unit and three supporting pieces of content. Use it as a starting point to create something more unique.</p>
<p><a class="btn btn-primary btn-large">Learn more &raquo;</a></p>
</div>
<div class="body-content">
<!-- Example row of columns -->
<div class="row">
<div class="col-lg-4">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div>
<div class="col-lg-4">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div>
<div class="col-lg-4">
<h2>Heading</h2>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div>
</div>
<hr>
<footer>
<p>&copy; Company 2013</p>
</footer>
</div>
</div> <!-- /container -->
<script src="../../assets/js/jquery.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
</body>
</html>
@@ -1,30 +0,0 @@
/* Move down content because we have a fixed navbar that is 50px tall */
body {
padding-top: 50px;
padding-bottom: 20px;
}
/* Set widths on the navbar form inputs since otherwise they're 100% wide */
.navbar-form input[type="text"],
.navbar-form input[type="password"] {
width: 180px;
}
/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
.body-content {
padding-left: 15px;
padding-right: 15px;
}
/* Responsive: Portrait tablets and up */
@media screen and (min-width: 768px) {
/* Let the jumbotron breathe */
.jumbotron {
margin-top: 20px;
}
/* Remove padding from wrapping element since we kick in the grid classes here */
.body-content {
padding: 0;
}
}
@@ -1,73 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Justified Nav Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="justified-nav.css" rel="stylesheet">
</head>
<body>
<div class="container">
<div class="masthead">
<h3 class="text-muted">Project name</h3>
<ul class="nav navbar-nav nav-justified">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">Projects</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Downloads</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
<!-- Jumbotron -->
<div class="jumbotron">
<h1>Marketing stuff!</h1>
<p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet.</p>
<p><a class="btn btn-large btn-success" href="#">Get started today</a></p>
</div>
<div class="body-content">
<!-- Example row of columns -->
<div class="row">
<div class="col-lg-4">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div>
<div class="col-lg-4">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div>
<div class="col-lg-4">
<h2>Heading</h2>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.</p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div>
</div>
</div><!-- /.body-content -->
<!-- Site footer -->
<div class="footer">
<p>&copy; Company 2013</p>
</div>
</div> <!-- /container -->
</body>
</html>
@@ -1,81 +0,0 @@
body {
padding-top: 20px;
}
/* Everything but the jumbotron gets side spacing for mobile-first views */
.masthead,
.body-content,
.footer {
padding-left: 15px;
padding-right: 15px;
}
.footer {
border-top: 1px solid #ddd;
margin-top: 30px;
padding-top: 29px;
padding-bottom: 30px;
}
/* Main marketing message and sign up button */
.jumbotron {
text-align: center;
background-color: transparent;
}
.jumbotron .btn {
font-size: 21px;
padding: 14px 24px;
}
/* Customize the nav-justified links to be fill the entire space of the .navbar */
.nav-justified {
max-height: 50px;
background-color: #eee;
border-radius: 5px;
border: 1px solid #ccc;
}
.nav-justified > li > a {
padding-top: 15px;
padding-bottom: 15px;
color: #777;
font-weight: bold;
text-align: center;
border-left: 1px solid rgba(255,255,255,.75);
border-right: 1px solid rgba(0,0,0,.1);
background-color: #e5e5e5; /* Old browsers */
background-repeat: repeat-x; /* Repeat the gradient */
background-image: -moz-linear-gradient(top, #f5f5f5 0%, #e5e5e5 100%); /* FF3.6+ */
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f5f5f5), color-stop(100%,#e5e5e5)); /* Chrome,Safari4+ */
background-image: -webkit-linear-gradient(top, #f5f5f5 0%,#e5e5e5 100%); /* Chrome 10+,Safari 5.1+ */
background-image: -ms-linear-gradient(top, #f5f5f5 0%,#e5e5e5 100%); /* IE10+ */
background-image: -o-linear-gradient(top, #f5f5f5 0%,#e5e5e5 100%); /* Opera 11.10+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */
background-image: linear-gradient(top, #f5f5f5 0%,#e5e5e5 100%); /* W3C */
}
.nav-justified > .active > a {
background-color: #ddd;
background-image: none;
box-shadow: inset 0 3px 7px rgba(0,0,0,.15);
}
.nav-justified > li:first-child > a {
border-left: 0;
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
}
.nav-justified > li:last-child > a {
border-right: 0;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}
/* Responsive: Portrait tablets and up */
@media screen and (min-width: 768px) {
/* Remove the padding we set earlier */
.masthead,
.marketing,
.footer {
padding-left: 0;
padding-right: 0;
}
}
@@ -1,77 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Fixed Top Navbar Example for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="navbar-fixed-top.css" rel="stylesheet">
</head>
<body>
<!-- Fixed navbar -->
<div class="navbar navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li class="dropdown-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="../navbar/">Default</a></li>
<li><a href="../navbar-static-top/">Static top</a></li>
<li class="active"><a href="./">Fixed top</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<div class="container">
<!-- Main component for a primary marketing message or call to action -->
<div class="jumbotron">
<h1>Navbar example</h1>
<p>This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p>
<p>
<a class="btn btn-large btn-primary" href="../../components/#navbar">View navbar docs &raquo;</a>
</p>
</div>
</div> <!-- /container -->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="../../assets/js/jquery.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
</body>
</html>
@@ -1,7 +0,0 @@
body {
padding-top: 60px;
}
.jumbotron {
margin-top: 20px;
}
@@ -1,78 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Static Top Navbar Example for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="navbar-static-top.css" rel="stylesheet">
</head>
<body>
<!-- Static navbar -->
<div class="navbar navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li class="dropdown-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="../navbar/">Default</a></li>
<li class="active"><a href="./">Static top</a></li>
<li><a href="../navbar-fixed-top/">Fixed top</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<div class="container">
<!-- Main component for a primary marketing message or call to action -->
<div class="jumbotron">
<h1>Navbar example</h1>
<p>This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p>
<p>
<a class="btn btn-large btn-primary" href="../../components/#navbar">View navbar docs &raquo;</a>
</p>
</div>
</div> <!-- /container -->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="../../assets/js/jquery.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
</body>
</html>
@@ -1,77 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Navbar Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="navbar.css" rel="stylesheet">
</head>
<body>
<div class="container">
<!-- Static navbar -->
<div class="navbar">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li class="dropdown-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="./">Default</a></li>
<li><a href="../navbar-static-top/">Static top</a></li>
<li><a href="../navbar-fixed-top/">Fixed top</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<!-- Main component for a primary marketing message or call to action -->
<div class="jumbotron">
<h1>Navbar example</h1>
<p>This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p>
<p>
<a class="btn btn-large btn-primary" href="../../components/#navbar">View navbar docs &raquo;</a>
</p>
</div>
</div> <!-- /container -->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="../../assets/js/jquery.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
</body>
</html>
@@ -1,7 +0,0 @@
body {
padding: 30px;
}
.navbar {
margin-bottom: 30px;
}
@@ -1,116 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Off Canvas Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="offcanvas.css" rel="stylesheet">
</head>
<body>
<div class="navbar navbar-fixed-top navbar-inverse" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div><!-- /.nav-collapse -->
</div><!-- /.container -->
</div><!-- /.navbar -->
<div class="container">
<div class="row row-offcanvas row-offcanvas-right">
<div class="col-xs-12 col-sm-9">
<p class="pull-right visible-xs">
<button type="button" class="btn btn-primary btn-xs" data-toggle="offcanvas">Toggle nav</button>
</p>
<div class="jumbotron">
<h1>Hello, world!</h1>
<p>This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.</p>
</div>
<div class="row">
<div class="col-6 col-sm-6 col-lg-4">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div><!--/span-->
<div class="col-6 col-sm-6 col-lg-4">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div><!--/span-->
<div class="col-6 col-sm-6 col-lg-4">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div><!--/span-->
<div class="col-6 col-sm-6 col-lg-4">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div><!--/span-->
<div class="col-6 col-sm-6 col-lg-4">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div><!--/span-->
<div class="col-6 col-sm-6 col-lg-4">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
<p><a class="btn btn-default" href="#">View details &raquo;</a></p>
</div><!--/span-->
</div><!--/row-->
</div><!--/span-->
<div class="col-xs-12 col-sm-3 sidebar-offcanvas" id="sidebar" role="navigation">
<div class="well sidebar-nav">
<ul class="nav">
<li>Sidebar</li>
<li class="active"><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li>Sidebar</li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li>Sidebar</li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</div><!--/.well -->
</div><!--/span-->
</div><!--/row-->
<hr>
<footer>
<p>&copy; Company 2013</p>
</footer>
</div><!--/.container-->
<!-- jQuery and plugin -->
<script src="../../assets/js/jquery.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<script src="offcanvas.js"></script>
</body>
</html>
@@ -1,48 +0,0 @@
/*
* Style twaks
* --------------------------------------------------
*/
body {
padding-top: 70px;
}
footer {
padding-left: 15px;
padding-right: 15px;
}
/*
* Off Canvas
* --------------------------------------------------
*/
@media screen and (max-width: 768px) {
.row-offcanvas {
position: relative;
overflow: hidden; /* Needed for Internet Explorer */
-webkit-transition: all 0.25s ease-out;
-moz-transition: all 0.25s ease-out;
transition: all 0.25s ease-out;
}
.row-offcanvas-right
.sidebar-offcanvas {
right: -58.333333333333336%; /* 6 columns */
}
.row-offcanvas-left
.sidebar-offcanvas {
left: -58.333333333333336%; /* 6 columns */
}
.row-offcanvas-right.active {
right: 58.333333333333336%; /* 6 columns */
}
.row-offcanvas-left.active {
left: 58.333333333333336%; /* 6 columns */
}
.sidebar-offcanvas {
position: absolute;
width: 58.333333333333336%; /* 6 columns */
}
}
@@ -1,5 +0,0 @@
$(document).ready(function() {
$('[data-toggle=offcanvas]').click(function() {
$('.row-offcanvas').toggleClass('active');
});
});
Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 KiB

@@ -1,35 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Signin Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="signin.css" rel="stylesheet">
</head>
<body>
<div class="container">
<form class="form-signin">
<h2 class="form-signin-heading">Please sign in</h2>
<input type="text" class="form-control" placeholder="Email address" autofocus>
<input type="password" class="form-control" placeholder="Password">
<label class="checkbox">
<input type="checkbox" value="remember-me"> Remember me
</label>
<button class="btn btn-large btn-primary btn-block" type="submit">Sign in</button>
</form>
</div> <!-- /container -->
</body>
</html>
@@ -1,40 +0,0 @@
body {
padding-top: 40px;
padding-bottom: 40px;
background-color: #eee;
}
.form-signin {
max-width: 330px;
padding: 15px;
margin: 0 auto;
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
margin-bottom: 10px;
}
.form-signin .checkbox {
font-weight: normal;
}
.form-signin .form-control {
position: relative;
font-size: 16px;
height: auto;
padding: 10px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.form-signin .form-control:focus {
z-index: 2;
}
.form-signin input[type="text"] {
margin-bottom: -1px;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.form-signin input[type="password"] {
margin-bottom: 10px;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
@@ -1,52 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Starter Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="starter-template.css" rel="stylesheet">
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<div class="container">
<div class="starter-template">
<h1>Bootstrap starter template</h1>
<p class="lead">Use this document as a way to quickly start any new project.<br> All you get is this text and a mostly barebones HTML document.</p>
</div>
</div><!-- /.container -->
<script src="../../assets/js/jquery.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
</body>
</html>
@@ -1,7 +0,0 @@
body {
padding-top: 50px;
}
.starter-template {
padding: 40px 15px;
text-align: center;
}
@@ -1,77 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Sticky Footer Navbar Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="sticky-footer-navbar.css" rel="stylesheet">
</head>
<body>
<!-- Wrap all page content here -->
<div id="wrap">
<!-- Fixed navbar -->
<div class="navbar navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li class="dropdown-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<!-- Begin page content -->
<div class="container">
<div class="page-header">
<h1>Sticky footer with fixed navbar</h1>
</div>
<p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS. A fixed navbar has been added within <code>#wrap</code> with <code>padding-top: 60px;</code> on the <code>.container</code>.</p>
<p>Back to <a href="../sticky-footer">the default sticky footer</a> minus the navbar.</p>
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">Example courtesy <a href="http://martinbean.co.uk">Martin Bean</a> and <a href="http://ryanfait.com/sticky-footer/">Ryan Fait</a>.</p>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<script src="../../assets/js/jquery.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
</body>
</html>
@@ -1,52 +0,0 @@
/* Sticky footer styles
-------------------------------------------------- */
html,
body {
height: 100%;
/* The html and body elements cannot have any padding or margin. */
}
/* Wrapper for page content to push down footer */
#wrap {
min-height: 100%;
height: auto !important;
height: 100%;
/* Negative indent footer by its height */
margin: 0 auto -60px;
/* Pad bottom by footer height */
padding: 0 0 60px;
}
/* Set the fixed height of the footer here */
#footer {
height: 60px;
background-color: #f5f5f5;
}
/* Lastly, apply responsive CSS fixes as necessary */
@media (max-width: 767px) {
#footer {
margin-left: -20px;
margin-right: -20px;
padding-left: 20px;
padding-right: 20px;
}
}
/* Custom page CSS
-------------------------------------------------- */
/* Not required for template or sticky footer method. */
#wrap > .container {
padding: 60px 15px 0;
}
.container .credit {
margin: 20px 0;
}
code {
font-size: 80%;
}
@@ -1,40 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Sticky Footer Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="sticky-footer.css" rel="stylesheet">
</head>
<body>
<!-- Wrap all page content here -->
<div id="wrap">
<!-- Begin page content -->
<div class="container">
<div class="page-header">
<h1>Sticky footer</h1>
</div>
<p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.</p>
<p>Use <a href="../sticky-footer-navbar">the sticky footer with a fixed navbar</a> if need be, too.</p>
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">Example courtesy <a href="http://martinbean.co.uk">Martin Bean</a> and <a href="http://ryanfait.com/sticky-footer/">Ryan Fait</a>.</p>
</div>
</div>
</body>
</html>
@@ -1,48 +0,0 @@
/* Sticky footer styles
-------------------------------------------------- */
html,
body {
height: 100%;
/* The html and body elements cannot have any padding or margin. */
}
/* Wrapper for page content to push down footer */
#wrap {
min-height: 100%;
height: auto !important;
height: 100%;
/* Negative indent footer by its height */
margin: 0 auto -60px;
/* Pad bottom by footer height */
padding: 0 0 60px;
}
/* Set the fixed height of the footer here */
#footer {
height: 60px;
background-color: #f5f5f5;
}
/* Lastly, apply responsive CSS fixes as necessary */
@media (max-width: 767px) {
#footer {
margin-left: -20px;
margin-right: -20px;
padding-left: 20px;
padding-right: 20px;
}
}
/* Custom page CSS
-------------------------------------------------- */
/* Not required for template or sticky footer method. */
.container {
width: auto;
max-width: 680px;
padding: 0 15px;
}
.container .credit {
margin: 20px 0;
}
@@ -1,546 +0,0 @@
---
layout: default
title: Getting started
slug: getting-started
lead: "An overview of Bootstrap, how to download and use, basic templates and examples, and more."
base_url: "../"
---
<!-- Getting started
================================================== -->
<div class="bs-docs-section">
<div class="page-header">
<h1 id="download">Download Bootstrap</h1>
</div>
<p class="lead">There are a few easy ways to quickly get started with Bootstrap, each one appealing to a different skill level and use case. Read through to see what suits your particular needs.</p>
<h3>Download latest full source</h3>
<p>Until Bootstrap 3.0.0 is finalized, download the latest full source code (includes compiled and minified versions of our CSS and JavaScript under the <code>dist/</code> directory).</p>
<p><a class="btn btn-lg btn-primary" href="{{ site.download }}" onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download source']);">Download latest Bootstrap 3</a></p>
<!--
<h3>Download compiled CSS and JS</h3>
<p class="lead">The fastest way to get started is to get the compiled and minified versions of our CSS and JavaScript. No documentation or original source files are included.</p>
<p><a class="btn btn-lg btn-primary" href="{{ site.download_dist }}" onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download compiled']);">Download Bootstrap</a></p>
-->
<h3 id="download-options">More download options</h3>
<div class="bs-docs-dl-options">
<h4>
<a href="{{ site.download }}" onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download source']);">Download latest source code</a>
</h4>
<p>Get the original files for all CSS and JavaScript by downloading the latest version directly from GitHub.</p>
<h4>
<a href="{{ site.repo }}" onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'GitHub project']);">Clone or fork via GitHub</a>
</h4>
<p>Clone the entire project or fork your own version of Bootstrap to make it your own by visiting us on GitHub.</p>
<h4>
Install with <a href="http://bower.io">Bower</a>
</h4>
<p>Install and manage the original files for all CSS and JavaScript, along with a local copy of the docs, using <a href="http://bower.io">Bower</a>.</p>
{% highlight bash %}$ bower install bootstrap{% endhighlight %}
</div>
<h3 id="download-cdn">Use the Bootstrap CDN</h3>
<p>The folks over at <a href="https://www.netdna.com/">NetDNA</a> have graciously provided CDN support for Bootstrap's CSS and JavaScript. To use, swap your local instances for the <a href="http://www.bootstrapcdn.com/">Bootstrap CDN</a> links listed below.</p>
{% highlight html linenos %}
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="{{ site.cdn_css }}">
<!-- Latest compiled and minified JavaScript -->
<script src="{{ site.cdn_js }}"></script>
{% endhighlight %}
<div class="bs-callout bs-callout-warning" id="callout-less-compilation">
<h4>LESS compilation</h4>
<p>If you download the original files, you need to compile Bootstrap's LESS files into usable CSS. To do that, Bootstrap only officially supports <a href="http://twitter.github.io/recess/">Recess</a>, Twitter's CSS hinter built on top of <a href="http://lesscss.org">less.js</a>.</p>
</div>
</div>
<!-- File structure
================================================== -->
<div class="bs-docs-section">
<div class="page-header">
<h1 id="whats-included">What's included</h1>
</div>
<p class="lead">Within the download you'll find the following directories and files, logically grouping common assets and providing both compiled and minified variations.</p>
<p>Once downloaded, unzip the compressed folder to see the structure of (the compiled) Bootstrap. You'll see something like this:</p>
{% highlight bash %}
bootstrap/
├── css/
│ ├── bootstrap.css
│ ├── bootstrap.min.css
├── js/
│ ├── bootstrap.js
│ ├── bootstrap.min.js
{% endhighlight %}
<p>This is the most basic form of Bootstrap: compiled files for quick drop-in usage in nearly any web project. We provide compiled CSS and JS (<code>bootstrap.*</code>), as well as compiled and minified CSS and JS (<code>bootstrap.min.*</code>).</p>
<div class="bs-callout bs-callout-danger">
<h4>jQuery required</h4>
<p>Please note that <strong>all JavaScript plugins require jQuery</strong> to be included, as shown in the <a href="#template">starter template</a>.</p>
</div>
</div>
<!-- Template
================================================== -->
<div class="bs-docs-section">
<div class="page-header">
<h1 id="template">Basic template</h1>
</div>
<p class="lead">Make use of a super basic HTML template, or dive into a <a href="../getting-started#examples">few examples</a> we've started for you. We encourage folks to iterate on these examples and not simply use them as an end result.</p>
<p>Copy and paste the HTML from below to get started with a bare bones Bootstrap document.</p>
{% highlight html %}
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap 101 Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
</head>
<body>
<h1>Hello, world!</h1>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="//code.jquery.com/jquery.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
<!-- Enable responsive features in IE8 with Respond.js (https://github.com/scottjehl/Respond) -->
<script src="js/respond.js"></script>
</body>
</html>
{% endhighlight %}
</div>
<!-- Template
================================================== -->
<div class="bs-docs-section">
<div class="page-header">
<h1 id="examples">Examples</h1>
</div>
<p class="lead">Build on the basic template above with Bootstrap's many components. Check out some of the more advanced tips for how to customize and build on top of them.</p>
<div class="row bs-examples">
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/starter-template/">
<img src="../examples/screenshots/starter-template.jpg" alt="">
</a>
<h4>Starter template</h4>
<p>Nothing but the basics: compiled CSS and JavaScript along with a container.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/grid/">
<img src="../examples/screenshots/grid.jpg" alt="">
</a>
<h4>Grids</h4>
<p>Multiple examples of grid layouts with all four tiers, nesting, and more.</p>
</div>
<div class="clearfix visible-xs"></div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/jumbotron/">
<img src="../examples/screenshots/jumbotron.jpg" alt="">
</a>
<h4>Jumbotron</h4>
<p>Build around the jumbotron with a navbar and some basic grid columns.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/jumbotron-narrow/">
<img src="../examples/screenshots/jumbotron-narrow.jpg" alt="">
</a>
<h4>Narrow jumbotron</h4>
<p>Build a more custom page by narrowing the default container and jumbotron.</p>
</div>
<div class="clearfix visible-xs"></div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/navbar/">
<img src="../examples/screenshots/navbar.jpg" alt="">
</a>
<h4>Navbar</h4>
<p>Super basic template that includes the navbar along with some additional content.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/navbar-static-top/">
<img src="../examples/screenshots/navbar-static.jpg" alt="">
</a>
<h4>Static top navbar</h4>
<p>Super basic template with a static top navbar along with some additional content.</p>
</div>
<div class="clearfix visible-xs"></div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/navbar-fixed-top/">
<img src="../examples/screenshots/navbar-fixed.jpg" alt="">
</a>
<h4>Fixed navbar</h4>
<p>Super basic template with a fixed top navbar along with some additional content.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/signin/">
<img src="../examples/screenshots/sign-in.jpg" alt="">
</a>
<h4>Sign-in page</h4>
<p>Custom form layout and design for a simple sign in form.</p>
</div>
<div class="clearfix visible-xs"></div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/sticky-footer/">
<img src="../examples/screenshots/sticky-footer.jpg" alt="">
</a>
<h4>Sticky footer</h4>
<p>Attach a footer to the bottom of the viewport when the content is shorter than it.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/sticky-footer-navbar/">
<img src="../examples/screenshots/sticky-footer-navbar.jpg" alt="">
</a>
<h4>Sticky footer with navbar</h4>
<p>Attach a footer to the bottom of the viewport along with a fixed navbar at the top.</p>
</div>
<div class="clearfix visible-xs"></div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/offcanvas/">
<img src="../examples/screenshots/offcanvas.jpg" alt="">
</a>
<h4>Offcanvas</h4>
<p>Build a toggleable off-canvas navigation menu for use with Bootstrap.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/carousel/">
<img src="../examples/screenshots/carousel.jpg" alt="">
</a>
<h4>Carousel</h4>
<p>Customize the navbar and carousel, then add some new components.</p>
</div>
</div>
</div>
<!-- Template
================================================== -->
<div class="bs-docs-section">
<div class="page-header">
<h1 id="disable-responsive">Disabling responsiveness</h1>
</div>
<p class="lead">Don't want your site or application to be scale on different device? With a little bit of work, you can disable the responsive features of Bootstrap so that mobile users see your full desktop-version site.</p>
<h3>Steps to disable responsive views</h3>
<p>To disable responsive features, follow these steps. See it in action in the modified template below.</p>
<ol>
<li>Remove (or just don't add) the viewport <code>&lt;meta&gt;</code> mentioned in <a href="../css/#overview-mobile">the CSS docs</a></li>
<li>Force a single <code>max-width</code> on the <code>.container</code> (e.g., <code>.container { max-width: 940px; }</code>). Be sure that this comes after the default Bootstrap CSS; otherwise, you'll need <code>!important</code>.</li>
<li>For grid layouts, make use of <code>.col-xs-*</code> classes in addition to or in place of the medium/large ones. Don't worry, the extra-small device grid scales up to all resolutions, so you're set there.</li>
</ol>
<p>You'll still need respond.js for IE8 (since our media queries are still there and need to be picked up). This just disables the "mobile site" of Bootstrap.</p>
<h3>Bootstrap template with disabled responsive</h3>
<p>We've taken the above steps and applied them to a basic template here. Note the steps above are called out in comments here, e.g. <code>&lt;-- 1. --&gt;</code>.</p>
{% highlight html %}
<!DOCTYPE html>
<html>
<head>
<title>Disabling responsiveness in Bootstrap</title>
<!-- 1. Note there is no meta tag here -->
<!-- Load default Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<!-- 2. Add our custom CSS to set the container's fixed width -->
<style>
.container { max-width: 940px; }
</style>
</head>
<body>
<h1>Hello, world!</h1>
<!-- 3. When using grid columns, use the `.col-xs-*` classes -->
<div class="row">
<div class="col-xs-4">One third</div>
<div class="col-xs-4">One third</div>
<div class="col-xs-4">One third</div>
</div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="//code.jquery.com/jquery.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
<!-- Enable responsive features in IE8 with Respond.js (https://github.com/scottjehl/Respond) -->
<script src="js/respond.js"></script>
</body>
</html>
{% endhighlight %}
</div>
<!-- Browser support
================================================== -->
<div class="bs-docs-section">
<div class="page-header">
<h1 id="browsers">Browser support</h1>
</div>
<p class="lead">Bootstrap is built to work best in the latest desktop and mobile browsers, meaning older and less advanced browsers might receive a less stylized, though fully functional, version of certain components.</p>
<h3>Supported browsers</h3>
<p>Specifically, we support the latest versions of the following:</p>
<ul>
<li>Chrome (Mac, Windows, iOS, and Android)</li>
<li>Safari (Mac and iOS only, as Windows has more or less been discontinued)</li>
<li>Firefox (Mac, Windows)</li>
<li>Internet Explorer</li>
<li>Opera (Mac, Windows)</li>
</ul>
<p>Unofficially, Bootstrap should look and behave well enough in Chromium for Linux and Internet Explorer 7, though they are not officially supported.</p>
<h3>Internet Explorer 8 and 9</h3>
<p>Internet Explorer 8 and 9 are also supported, however, please be aware that many CSS3 properties—e.g., rounded corners and shadows—are not supported by IE8. The <code>placeholder</code> attribute is also not supported in either of these versions.</p>
<p>In addition, <strong>Internet Explorer 8 requires the use of <a href="https://github.com/scottjehl/Respond">respond.js</a> to enable media query support.</strong></p>
<h3>IE Compatibility modes</h3>
<p>Bootstrap is not supported in the old Internet Explorer compatibility modes. To be sure you're using the latest rendering mode for IE, consider including the appropriate <code>meta</code> tag in your pages:</p>
{% highlight html %}
<meta http-equiv="X-UA-Compatible" content="IE=edge">
{% endhighlight %}
<p>See <a href="http://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edge">this StackOverflow question</a> for more information.</p>
<h3>Windows Phone 8 and Internet Explorer 10</h3>
<p>Internet Explorer 10 doesn't differentiate device width from viewport width, and thus doesn't properly apply the media queries in Bootstrap's CSS. To address this, you can optionally include the following CSS and JavaScript to work around this problem until Microsoft issues a fix.</p>
{% highlight css %}
@-webkit-viewport { width: device-width; }
@-moz-viewport { width: device-width; }
@-ms-viewport { width: device-width; }
@-o-viewport { width: device-width; }
@viewport { width: device-width; }
{% endhighlight %}
{% highlight js %}
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
var msViewportStyle = document.createElement("style")
msViewportStyle.appendChild(
document.createTextNode(
"@-ms-viewport{width:auto!important}"
)
)
document.getElementsByTagName("head")[0].appendChild(msViewportStyle)
}
{% endhighlight %}
<p>For more information and usage guidelines, read <a href="http://timkadlec.com/2013/01/windows-phone-8-and-device-width/">Windows Phone 8 and Device-Width</a>.</p>
<h3>Safari percent rounding</h3>
<p>In the latest Safari for Mac, its rendering engine has a little trouble with the long decimal places of our <code>.col-*-1</code> grid classes, meaning if you have 12 individual columns you'll notice they come up short compared to other rows of columns. There's not much we can do here (<a href="https://github.com/twbs/bootstrap/issues/9282">see #9282</a>) but you do have some options:</p>
<ul>
<li>Add <code>.pull-right</code> to your last grid column to get the hard-right alignment</li>
<li>Tweak your percentages manually to get the perfect rounding for Safari (more difficult than the first option)</li>
</ul>
<p>We'll keep an eye on this though and update our code if we have an easy solution.</p>
<h3>Modals and mobile devices</h3>
<p>Support for <code>overflow: hidden</code> on the <code>&lt;body&gt;</code> element is quite limited in iOS and Android. To that end, when you scroll past the top or bottom of a modal in either of those devices' browsers, the <code>&lt;body&gt;</code> content will begin to scroll.</p>
<h3>Browser zooming</h3>
<p>Page zooming inevitably presents rendering artifacts in some components, both in Bootstrap and the rest of the web. Depending on the issue, we may be able to fix it (search first and then open an issue if need be). However, we tend to ignore these as they often have no direct solution other than hacky workarounds.</p>
</div>
<!-- Third party support
================================================== -->
<div class="bs-docs-section">
<div class="page-header">
<h1 id="third-parties">Third party support</h1>
</div>
<p class="lead">While we don't officially support any third party plugins or add-ons, we do offer some useful advice to help avoid potential issues in your projects.</p>
<h3>Google Maps</h3>
<p>If you're using Google Maps on a Bootstrapped project, you might run into some display problems due to our use of <code>* { box-sizing: border-box; }</code>. Previously, you may have also ran into issues with the use of <code>max-width</code> on images. The following snippet should avoid all those problems.</p>
{% highlight css %}
/* Fix Google Maps canvas
*
* Wrap your Google Maps embed in a `.google-map-canvas` to reset Bootstrap's
* global `box-sizing` changes. You may optionally need to reset the `max-width`
* on images in case you've applied that anywhere else. (That shouldn't be as
* necessary with Bootstrap 3 though as that behavior is relegated to the
* `.img-responsive` class.)
*/
.google-map-canvas,
.google-map-canvas * { .box-sizing(content-box); }
/* Optional responsive image override */
img { max-width: none; }
{% endhighlight %}
</div>
<!-- Accessibility
================================================== -->
<div class="bs-docs-section">
<div class="page-header">
<h1 id="accessibility">Accessibility</h1>
</div>
<p class="lead">Bootstrap follows common web standards, and with minimal extra effort, can be used to create sites that are accessibile to those using <abbr title="Assistive Technology" class="initialism">AT</abbr>.</p>
<h3>Skip navigation</h3>
<p>If your navigation contains many links and comes before the main content in the DOM, add a <code>Skip to content</code> link immediately after your opening <code>&lt;body&gt;</code> tag. <a href="http://a11yproject.com/posts/skip-nav-links/">(read why)</a></p>
{% highlight html %}
<body>
<a href="#content" class="sr-only">Skip to content</a>
<div class="container" id="content">
The main page content.
</div>
</body>
{% endhighlight %}
<h3>Nested headers</h3>
<p>Another "gotcha" has to do with how you nest your <code>&lt;header&gt;</code> elements. <a href="http://squizlabs.github.io/HTML_CodeSniffer/Standards/Section508/">Section 508</a> states that your largest header must be an <code>h1</code>, and the next header must be an <code>&lt;h2&gt;</code>, etc. This is hard to achieve in practice, but if the largest header on your site is smaller than Bootstrap's default 38px, you should consider modifying your stylesheets before using a smaller header element.</p>
<h3>Additional resources</h3>
<ul>
<li><a href="https://github.com/squizlabs/HTML_CodeSniffer">"HTML Codesniffer" bookmarklet for identifying accessibility issues</a></li>
<li><a href="http://a11yproject.com/">The A11Y Project</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Accessibility">MDN accessibility documentation</a></li>
</ul>
</div>
<!-- License FAQs
================================================== -->
<div class="bs-docs-section">
<div class="page-header">
<h1 id="license-faqs">License FAQs</h1>
</div>
<p class="lead">Bootstrap is released under the Apache 2 license and is copyright {{ site.time | date: "%Y" }} Twitter. Boiled down to smaller chunks, it can be described with the following conditions.</p>
<div class="row">
<div class="col-12 col-lg-6">
<h4>It allows you to:</h4>
<ul>
<li>Freely download and use Bootstrap, in whole or in part, for personal, company internal or commercial purposes</li>
<li>Use Bootstrap in packages or distributions that you create</li>
</ul>
</div>
<div class="col-12 col-lg-6">
<h4>It forbids you to:</h4>
<ul>
<li>Redistribute any piece of Bootstrap without proper attribution</li>
<li>Use any marks owned by Twitter in any way that might state or imply that Twitter endorses your distribution</li>
<li>Use any marks owned by Twitter in any way that might state or imply that you created the Twitter software in question</li>
</ul>
</div>
</div>
<div class="row">
<div class="col-12 col-lg-6">
<h4>It requires you to:</h4>
<ul>
<li>Include a copy of the license in any redistribution you may make that includes Bootstrap</li>
<li>Provide clear attribution to Twitter for any distributions that include Bootstrap</li>
</ul>
</div>
<div class="col-12 col-lg-6">
<h4>It does not require you to:</h4>
<ul>
<li>Include the source of Bootstrap itself, or of any modifications you may have made to it, in any redistribution you may assemble that includes it</li>
<li>Submit changes that you make to Bootstrap back to the Bootstrap project (though such feedback is encouraged)</li>
</ul>
</div>
</div>
<p>The full Bootstrap license is located <a href="{{ site.repo }}/blob/master/README.md">in the project repository</a> for more information.</p>
</div><!-- /.bs-docs-section -->
<div class="bs-docs-section">
<div class="page-header">
<h1 id="customizing">Customizing Bootstrap</h1>
</div>
<p class="lead">Customizing Bootstrap is best accomplished when you treat it as another dependency in your development stack. Doing so ensures future upgrades are as easy as possible while also familiarizing yourself to the intricacies of the framework.</p>
<p>Once you've downloaded and included Bootstrap's CSS into your templates, you can move on to customizing the included components. To do so, create a new stylesheet (LESS, if you like, or just plain CSS) to house your customizations.</p>
<div class="bs-callout bs-callout-info">
<h4>Compiled or minified?</h4>
<p>Unless you plan on reading a good chunk of the compiled CSS, go with the minified. It's the same code, just compacted. Less bandwidth is good, especially in production environments.</p>
</div>
<p>From there, include whatever Bootstrap components and HTML content you need to get your template setup. It's best to have a rough idea in mind of modifications to make and content to include, so be sure to spend a brief amount of time on that before moving on.</p>
<h3>Customizing components</h3>
<p>There are varying degrees to customizing components, but most fall into two camps: light customizations and complete visual overhauls. Luckily, there are plenty of examples of both.</p>
<p>We define light customizations as mostly surface layer changes, things like a color and font changes to existing Bootstrap components. A great example of this is the the <a href="http://translate.twitter.com">Twitter Translation Center</a> (coded by @mdo). Let's look at how to implement the custom button we wrote for this site, <code>.btn-ttc</code>.</p>
<p>Instead of using the provided Bootstrap buttons, which only require just one class to start, <code>.btn</code>, we'll add our own modifier class, <code>.btn-ttc</code>. This will give us a slightly custom look with minimal effort.</p>
{% highlight html %}
<button type="button" class="btn btn-ttc">Save changes</button>
{% endhighlight %}
<p>In the custom stylesheet, add the following CSS:</p>
{% highlight css %}
/* Custom button
-------------------------------------------------- */
/* Override base .btn styles */
/* Apply text and background changes to three key states: default, hover, and active (click). */
.btn-ttc,
.btn-ttc:hover,
.btn-ttc:active {
color: white;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #007da7;
}
/* Apply the custom-colored gradients */
/* Note: you'll need to include all the appropriate gradients for various browsers and standards. */
.btn-ttc {
background-repeat: repeat-x;
background-image: linear-gradient(top, #009ED2 0%, #007DA7 100%);
...
}
/* Set the hover state */
/* An easy hover state is just to move the gradient up a small amount. Add other embellishments as you see fit. */
.btn-ttc:hover {
background-position: 0 -15px;
}
{% endhighlight %}
<p>Customizing Bootstrap components takes time, but should be straightforward. <strong>Look to the source code often and duplicate the selectors you need for your modifications.</strong> Placing them after the Bootstrap source makes for easy overriding without complication. <strong>To recap, here's the basic workflow:</strong></p>
<ul>
<li>For each element you want to customize, find its code in the compiled Bootstrap CSS. Copy and paste the selector for a component as-is. For instance, to customize the navbar background, just snag <code>.navbar</code>.</li>
<li>Add all your custom CSS in a separate stylesheet using the selectors you just copied from the Bootstrap source. No need for prefacing with additional classes or using <code>!important</code> here.</li>
<li>Rinse and repeat until you're happy with your customizations.</li>
</ul>
<p>Going beyond light customizations and into visual overhauls is just as straightforward as the above custom button. For a site like <a href="http://yourkarma.com">Karma</a>, which uses Bootstrap as a CSS reset with heavy modifications, more extensive work is involved, but well worth it in the end.</p>
<div class="bs-callout bs-callout-info">
<h4>Alternate customization methods</h4>
<p>While not recommended for folks new to Bootstrap, you may use one of two alternate methods for customization. The first is modifying the source .less files (making upgrades super difficult), and the second is mapping source LESS code to <a href="http://ruby.bvision.com/blog/please-stop-embedding-bootstrap-classes-in-your-html">your own classes via mixins</a>. For the time being, neither options are documented here.</p>
</div>
<h3>Removing potential bloat</h3>
<p>Not all sites and applications need to make use of everything Bootstrap has to offer, especially in production environments where bandwidth literally becomes a financial issue. We encourage folks to remove whatever is unused with our <a href="../customize/">Customizer</a>.</p>
<p>Using the Customizer, simply uncheck any component, feature, or asset you don't need. Hit download and swap out the default Bootstrap files with these newly customized ones. You'll get vanilla Bootstrap, but without the features *you* deem unnecessary. All custom builds include compiled and minified versions, so use whichever works for you.</p>
</div>
@@ -1,16 +0,0 @@
---
layout: home
title: Bootstrap
base_url: "./"
---
<main class="bs-masthead" id="content" role="main">
<div class="container">
<h1>Bootstrap 3</h1>
<p class="lead">Sleek, intuitive, and powerful mobile-first front-end framework for faster and easier web development.</p>
<p>
<a href="{{ site.download }}" class="btn btn-outline btn-lg" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Download', 'Download 3.0.0 RC2']);">Download latest BS3</a>
</p>
<p><strong>Heads up!</strong> Downloads are pulled directly from the latest committed code on GitHub, and as a result our docs may at times be out of sync.</p>
</div>
</main>
@@ -1,14 +0,0 @@
{
"validthis": true,
"laxcomma" : true,
"laxbreak" : true,
"browser" : true,
"eqeqeq" : false,
"eqnull" : true,
"debug" : true,
"devel" : true,
"curly" : false,
"boss" : true,
"expr" : true,
"asi" : true
}
@@ -1,126 +0,0 @@
/* ========================================================================
* Bootstrap: affix.js v3.0.0
* http://twbs.github.com/bootstrap/javascript.html#affix
* ========================================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ======================================================================== */
+function ($) { "use strict";
// AFFIX CLASS DEFINITION
// ======================
var Affix = function (element, options) {
this.options = $.extend({}, Affix.DEFAULTS, options)
this.$window = $(window)
.on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
this.$element = $(element)
this.affixed =
this.unpin = null
this.checkPosition()
}
Affix.RESET = 'affix affix-top affix-bottom'
Affix.DEFAULTS = {
offset: 0
}
Affix.prototype.checkPositionWithEventLoop = function () {
setTimeout($.proxy(this.checkPosition, this), 1)
}
Affix.prototype.checkPosition = function () {
if (!this.$element.is(':visible')) return
var scrollHeight = $(document).height()
var scrollTop = this.$window.scrollTop()
var position = this.$element.offset()
var offset = this.options.offset
var offsetTop = offset.top
var offsetBottom = offset.bottom
if (typeof offset != 'object') offsetBottom = offsetTop = offset
if (typeof offsetTop == 'function') offsetTop = offset.top()
if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
var affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? false :
offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' :
offsetTop != null && (scrollTop <= offsetTop) ? 'top' : false
if (this.affixed === affix) return
if (this.unpin) this.$element.css('top', '')
this.affixed = affix
this.unpin = affix == 'bottom' ? position.top - scrollTop : null
this.$element.removeClass(Affix.RESET).addClass('affix' + (affix ? '-' + affix : ''))
if (affix == 'bottom') {
this.$element.offset({ top: document.body.offsetHeight - offsetBottom - this.$element.height() })
}
}
// AFFIX PLUGIN DEFINITION
// =======================
var old = $.fn.affix
$.fn.affix = function (option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.affix')
var options = typeof option == 'object' && option
if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
if (typeof option == 'string') data[option]()
})
}
$.fn.affix.Constructor = Affix
// AFFIX NO CONFLICT
// =================
$.fn.affix.noConflict = function () {
$.fn.affix = old
return this
}
// AFFIX DATA-API
// ==============
$(window).on('load', function () {
$('[data-spy="affix"]').each(function () {
var $spy = $(this)
var data = $spy.data()
data.offset = data.offset || {}
if (data.offsetBottom) data.offset.bottom = data.offsetBottom
if (data.offsetTop) data.offset.top = data.offsetTop
$spy.affix(data)
})
})
}(window.jQuery);
@@ -1,98 +0,0 @@
/* ========================================================================
* Bootstrap: alert.js v3.0.0
* http://twbs.github.com/bootstrap/javascript.html#alerts
* ========================================================================
* Copyright 2013 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ======================================================================== */
+function ($) { "use strict";
// ALERT CLASS DEFINITION
// ======================
var dismiss = '[data-dismiss="alert"]'
var Alert = function (el) {
$(el).on('click', dismiss, this.close)
}
Alert.prototype.close = function (e) {
var $this = $(this)
var selector = $this.attr('data-target')
if (!selector) {
selector = $this.attr('href')
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
}
var $parent = $(selector)
if (e) e.preventDefault()
if (!$parent.length) {
$parent = $this.hasClass('alert') ? $this : $this.parent()
}
$parent.trigger(e = $.Event('close.bs.alert'))
if (e.isDefaultPrevented()) return
$parent.removeClass('in')
function removeElement() {
$parent.trigger('closed.bs.alert').remove()
}
$.support.transition && $parent.hasClass('fade') ?
$parent
.one($.support.transition.end, removeElement)
.emulateTransitionEnd(150) :
removeElement()
}
// ALERT PLUGIN DEFINITION
// =======================
var old = $.fn.alert
$.fn.alert = function (option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.alert')
if (!data) $this.data('bs.alert', (data = new Alert(this)))
if (typeof option == 'string') data[option].call($this)
})
}
$.fn.alert.Constructor = Alert
// ALERT NO CONFLICT
// =================
$.fn.alert.noConflict = function () {
$.fn.alert = old
return this
}
// ALERT DATA-API
// ==============
$(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
}(window.jQuery);
@@ -1,109 +0,0 @@
/* ========================================================================
* Bootstrap: button.js v3.0.0
* http://twbs.github.com/bootstrap/javascript.html#buttons
* ========================================================================
* Copyright 2013 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ======================================================================== */
+function ($) { "use strict";
// BUTTON PUBLIC CLASS DEFINITION
// ==============================
var Button = function (element, options) {
this.$element = $(element)
this.options = $.extend({}, Button.DEFAULTS, options)
}
Button.DEFAULTS = {
loadingText: 'loading...'
}
Button.prototype.setState = function (state) {
var d = 'disabled'
var $el = this.$element
var val = $el.is('input') ? 'val' : 'html'
var data = $el.data()
state = state + 'Text'
if (!data.resetText) $el.data('resetText', $el[val]())
$el[val](data[state] || this.options[state])
// push to event loop to allow forms to submit
setTimeout(function () {
state == 'loadingText' ?
$el.addClass(d).attr(d, d) :
$el.removeClass(d).removeAttr(d);
}, 0)
}
Button.prototype.toggle = function () {
var $parent = this.$element.closest('[data-toggle="buttons"]')
if ($parent.length) {
var $input = this.$element.find('input')
.prop('checked', !this.$element.hasClass('active'))
.trigger('change')
if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active')
}
this.$element.toggleClass('active')
}
// BUTTON PLUGIN DEFINITION
// ========================
var old = $.fn.button
$.fn.button = function (option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.button')
var options = typeof option == 'object' && option
if (!data) $this.data('bs.button', (data = new Button(this, options)))
if (option == 'toggle') data.toggle()
else if (option) data.setState(option)
})
}
$.fn.button.Constructor = Button
// BUTTON NO CONFLICT
// ==================
$.fn.button.noConflict = function () {
$.fn.button = old
return this
}
// BUTTON DATA-API
// ===============
$(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) {
var $btn = $(e.target)
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
$btn.button('toggle')
e.preventDefault()
})
}(window.jQuery);
Loaded 100 of 1939 files, more files were not shown because too many files have changed in this diff. Show more