diff --git a/doc/.gitignore b/doc/.gitignore new file mode 100644 index 00000000..2d19fc76 --- /dev/null +++ b/doc/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/doc/Makefile b/doc/Makefile index 7add872a..ce99279b 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,6 +1,15 @@ -all: install.php +all: install_fr.html install_en.html home_fr.html home_en.html -install.php: install_fr.md - github-markup install_fr.md >install.php +install_fr.html: install_fr.md + github-markup install_fr.md >install_fr.html + +install_en.html: install_en.md + github-markup install_en.md >install_en.html + +home_fr.html: home_fr.md + github-markup home_fr.md >home_fr.html + +home_en.html: home_en.md + github-markup home_en.md >home_en.html diff --git a/doc/home_en.md b/doc/home_en.md new file mode 100644 index 00000000..cacee990 --- /dev/null +++ b/doc/home_en.md @@ -0,0 +1,12 @@ + +AlternC Hosting Control Panel +============================= + +AlternC is a hosting control panel, a software suite which makes web and mail server management easier. + +To [install AlternC on your Debian GNU/Linux stable distribution, see our documentation](install). + +You may want to [test it on our demonstration server](http://demo.alternc.org/) + +If you want to participate, [we have a developer website](http://alternc.org). + diff --git a/doc/home_fr.md b/doc/home_fr.md new file mode 100644 index 00000000..8a525772 --- /dev/null +++ b/doc/home_fr.md @@ -0,0 +1,12 @@ + +AlternC, Logiciel de gestion de serveur +======================================= + +AlternC est une suite logicielle permettant de gérer facilement un serveur web et mail. + +Pour [installer AlternC sur votre distribution Debian GNU/Linux stable, lisez notre documentation](install). + +Vous pouvez tester AlternC [sur notre serveur de démonstration](http://demo.alternc.org/) + +Si vous souhaitez participer à son développement, [nous avons un site dédié aux développeurs](http://alternc.org). + diff --git a/doc/install_en.md b/doc/install_en.md new file mode 100644 index 00000000..bda4bff3 --- /dev/null +++ b/doc/install_en.md @@ -0,0 +1,17 @@ + + +Pre-installation +================ + +AlternC works well with current or previous stable version of Linux Debian distribution. We are using `apt-get` to install the required softwares. + +To install AlternC, you'll need: + +* a SSH access to the server. +* administrator rights (`sudo -s` or `su`) +* ensure that `#includedir /etc/sudoers.d` is present in `/etc/sudoers` with the command `visudo`. + + +ACL +--- + diff --git a/doc/www/.htaccess b/doc/www/.htaccess new file mode 100644 index 00000000..1f3b2c68 --- /dev/null +++ b/doc/www/.htaccess @@ -0,0 +1,7 @@ + +RewriteEngine On + +RewriteCond %{REQUEST_FILENAME} !-f +RewriteRule (.*) router.php [L] + + diff --git a/doc/www/assets/css/docs.min.css b/doc/www/assets/css/docs.min.css index e0c62589..b5f52dab 100644 --- a/doc/www/assets/css/docs.min.css +++ b/doc/www/assets/css/docs.min.css @@ -3,4 +3,363 @@ * Copyright 2011-2014 Twitter, Inc. * Licensed under the Creative Commons Attribution 3.0 Unported License. For * details, see http://creativecommons.org/licenses/by/3.0/. - */body{position:relative}.table code{font-size:13px;font-weight:400}.btn-outline{color:#563d7c;background-color:transparent;border-color:#563d7c}.btn-outline:hover,.btn-outline:focus,.btn-outline:active{color:#fff;background-color:#563d7c;border-color:#563d7c}.btn-outline-inverse{color:#fff;background-color:transparent;border-color:#cdbfe3}.btn-outline-inverse:hover,.btn-outline-inverse:focus,.btn-outline-inverse:active{color:#563d7c;text-shadow:none;background-color:#fff;border-color:#fff}.bs-docs-booticon{display:block;font-weight:500;color:#fff;text-align:center;cursor:default;background-color:#563d7c;border-radius:15%}.bs-docs-booticon-sm{width:30px;height:30px;font-size:20px;line-height:28px}.bs-docs-booticon-lg{width:144px;height:144px;font-size:108px;line-height:140px}.bs-docs-booticon-inverse{color:#563d7c;background-color:#fff}.bs-docs-booticon-outline{background-color:transparent;border:1px solid #cdbfe3}.bs-docs-nav{margin-bottom:0;background-color:#fff;border-bottom:0}.bs-home-nav .bs-nav-b{display:none}.bs-docs-nav .navbar-brand,.bs-docs-nav .navbar-nav>li>a{font-weight:500;color:#563d7c}.bs-docs-nav .navbar-nav>li>a:hover,.bs-docs-nav .navbar-nav>.active>a,.bs-docs-nav .navbar-nav>.active>a:hover{color:#463265;background-color:#f9f9f9}.bs-docs-nav .navbar-toggle .icon-bar{background-color:#563d7c}.bs-docs-nav .navbar-header .navbar-toggle{border-color:#fff}.bs-docs-nav .navbar-header .navbar-toggle:hover,.bs-docs-nav .navbar-header .navbar-toggle:focus{background-color:#f9f9f9;border-color:#f9f9f9}.bs-docs-footer{padding-top:40px;padding-bottom:40px;margin-top:100px;color:#777;text-align:center;border-top:1px solid #e5e5e5}.bs-docs-footer-links{padding-left:0;margin-top:20px;color:#999}.bs-docs-footer-links li{display:inline;padding:0 2px}.bs-docs-footer-links li:first-child{padding-left:0}@media (min-width:768px){.bs-docs-footer p{margin-bottom:0}}.bs-docs-social{margin-bottom:20px;text-align:center}.bs-docs-social-buttons{display:inline-block;padding-left:0;margin-bottom:0;list-style:none}.bs-docs-social-buttons li{display:inline-block;padding:5px 8px;line-height:1}.bs-docs-social-buttons .twitter-follow-button{width:225px!important}.bs-docs-social-buttons .twitter-share-button{width:98px!important}.github-btn{overflow:hidden;border:0}.bs-docs-masthead,.bs-docs-header{position:relative;padding:30px 15px;color:#cdbfe3;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.1);background-color:#6f5499;background-image:-webkit-gradient(linear,left top,left bottom,from(#563d7c),to(#6f5499));background-image:-webkit-linear-gradient(top,#563d7c 0,#6f5499 100%);background-image:-o-linear-gradient(top,#563d7c 0,#6f5499 100%);background-image:linear-gradient(to bottom,#563d7c 0,#6f5499 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#563d7c', endColorstr='#6F5499', GradientType=0);background-repeat:repeat-x}.bs-docs-masthead .bs-docs-booticon{margin:0 auto 30px}.bs-docs-masthead h1{font-weight:300;line-height:1;color:#fff}.bs-docs-masthead .lead{margin:0 auto 30px;font-size:20px;color:#fff}.bs-docs-masthead .version{margin-top:-15px;margin-bottom:30px;color:#9783b9}.bs-docs-masthead .btn{width:100%;padding:15px 30px;font-size:20px}@media (min-width:480px){.bs-docs-masthead .btn{width:auto}}@media (min-width:768px){.bs-docs-masthead{padding:80px 0}.bs-docs-masthead h1{font-size:60px}.bs-docs-masthead .lead{font-size:24px}}@media (min-width:992px){.bs-docs-masthead .lead{width:80%;font-size:30px}}.bs-docs-header{margin-bottom:40px;font-size:20px}.bs-docs-header h1{margin-top:0;color:#fff}.bs-docs-header p{margin-bottom:0;font-weight:300;line-height:1.4}.bs-docs-header .container{position:relative}@media (min-width:768px){.bs-docs-header{padding-top:60px;padding-bottom:60px;font-size:24px;text-align:left}.bs-docs-header h1{font-size:60px;line-height:1}}@media (min-width:992px){.bs-docs-header h1,.bs-docs-header p{margin-right:380px}}.carbonad{width:auto!important;height:auto!important;padding:20px!important;margin:30px -30px -31px!important;overflow:hidden;font-size:13px!important;line-height:16px!important;text-align:left;background:transparent!important;border:solid #866ab3!important;border-width:1px 0!important}.carbonad-img{margin:0!important}.carbonad-text,.carbonad-tag{display:block!important;float:none!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{color:inherit!important;text-align:left!important}.carbonad-text a,.carbonad-tag a{color:#fff!important}.carbonad #azcarbon>img{display:none}@media (min-width:480px){.carbonad{width:330px!important;margin:20px auto!important;border-width:1px!important;border-radius:4px}.bs-docs-masthead .carbonad{margin:50px auto 0!important}}@media (min-width:768px){.carbonad{margin-right:0!important;margin-left:0!important}}@media (min-width:992px){.carbonad{position:absolute;top:0;right:15px;width:330px!important;padding:15px!important;margin:0!important}.bs-docs-masthead .carbonad{position:static}}.bs-docs-featurette{padding-top:40px;padding-bottom:40px;font-size:16px;line-height:1.5;color:#555;text-align:center;background-color:#fff;border-bottom:1px solid #e5e5e5}.bs-docs-featurette+.bs-docs-footer{margin-top:0;border-top:0}.bs-docs-featurette-title{margin-bottom:5px;font-size:30px;font-weight:400;color:#333}.half-rule{width:100px;margin:40px auto}.bs-docs-featurette h3{margin-bottom:5px;font-weight:400;color:#333}.bs-docs-featurette-img{display:block;margin-bottom:20px;color:#333}.bs-docs-featurette-img:hover{color:#337ab7;text-decoration:none}.bs-docs-featurette-img img{display:block;margin-bottom:15px}@media (min-width:480px){.bs-docs-featurette .img-responsive{margin-top:30px}}@media (min-width:768px){.bs-docs-featurette{padding-top:100px;padding-bottom:100px}.bs-docs-featurette-title{font-size:40px}.bs-docs-featurette .lead{max-width:80%;margin-right:auto;margin-left:auto}.bs-docs-featurette .img-responsive{margin-top:0}}.bs-docs-featured-sites{margin-right:-1px;margin-left:-1px}.bs-docs-featured-sites .col-xs-6{padding:1px}.bs-docs-featured-sites .img-responsive{margin-top:0}@media (min-width:768px){.bs-docs-featured-sites .col-sm-3:first-child img{border-top-left-radius:4px;border-bottom-left-radius:4px}.bs-docs-featured-sites .col-sm-3:last-child img{border-top-right-radius:4px;border-bottom-right-radius:4px}}.bs-examples .thumbnail{margin-bottom:10px}.bs-examples h4{margin-bottom:5px}.bs-examples p{margin-bottom:20px}@media (max-width:480px){.bs-examples{margin-right:-10px;margin-left:-10px}.bs-examples>[class^=col-]{padding-right:10px;padding-left:10px}}.bs-docs-sidebar.affix{position:static}@media (min-width:768px){.bs-docs-sidebar{padding-left:20px}}.bs-docs-sidenav{margin-top:20px;margin-bottom:20px}.bs-docs-sidebar .nav>li>a{display:block;padding:4px 20px;font-size:13px;font-weight:500;color:#999}.bs-docs-sidebar .nav>li>a:hover,.bs-docs-sidebar .nav>li>a:focus{padding-left:19px;color:#563d7c;text-decoration:none;background-color:transparent;border-left:1px solid #563d7c}.bs-docs-sidebar .nav>.active>a,.bs-docs-sidebar .nav>.active:hover>a,.bs-docs-sidebar .nav>.active:focus>a{padding-left:18px;font-weight:700;color:#563d7c;background-color:transparent;border-left:2px solid #563d7c}.bs-docs-sidebar .nav .nav{display:none;padding-bottom:10px}.bs-docs-sidebar .nav .nav>li>a{padding-top:1px;padding-bottom:1px;padding-left:30px;font-size:12px;font-weight:400}.bs-docs-sidebar .nav .nav>li>a:hover,.bs-docs-sidebar .nav .nav>li>a:focus{padding-left:29px}.bs-docs-sidebar .nav .nav>.active>a,.bs-docs-sidebar .nav .nav>.active:hover>a,.bs-docs-sidebar .nav .nav>.active:focus>a{padding-left:28px;font-weight:500}.back-to-top,.bs-docs-theme-toggle{display:none;padding:4px 10px;margin-top:10px;margin-left:10px;font-size:12px;font-weight:500;color:#999}.back-to-top:hover,.bs-docs-theme-toggle:hover{color:#563d7c;text-decoration:none}.bs-docs-theme-toggle{margin-top:0}@media (min-width:768px){.back-to-top,.bs-docs-theme-toggle{display:block}}@media (min-width:992px){.bs-docs-sidebar .nav>.active>ul{display:block}.bs-docs-sidebar.affix,.bs-docs-sidebar.affix-bottom{width:213px}.bs-docs-sidebar.affix{position:fixed;top:20px}.bs-docs-sidebar.affix-bottom{position:absolute}.bs-docs-sidebar.affix-bottom .bs-docs-sidenav,.bs-docs-sidebar.affix .bs-docs-sidenav{margin-top:0;margin-bottom:0}}@media (min-width:1200px){.bs-docs-sidebar.affix-bottom,.bs-docs-sidebar.affix{width:263px}}.bs-docs-section{margin-bottom:60px}.bs-docs-section:last-child{margin-bottom:0}h1[id]{padding-top:20px;margin-top:0}.bs-callout{padding:20px;margin:20px 0;border:1px solid #eee;border-left-width:5px;border-radius:3px}.bs-callout h4{margin-top:0;margin-bottom:5px}.bs-callout p:last-child{margin-bottom:0}.bs-callout code{border-radius:3px}.bs-callout+.bs-callout{margin-top:-5px}.bs-callout-danger{border-left-color:#d9534f}.bs-callout-danger h4{color:#d9534f}.bs-callout-warning{border-left-color:#f0ad4e}.bs-callout-warning h4{color:#f0ad4e}.bs-callout-info{border-left-color:#5bc0de}.bs-callout-info h4{color:#5bc0de}.color-swatches{margin:0 -5px;overflow:hidden}.color-swatch{float:left;width:60px;height:60px;margin:0 5px;border-radius:3px}@media (min-width:768px){.color-swatch{width:100px;height:100px}}.color-swatches .gray-darker{background-color:#222}.color-swatches .gray-dark{background-color:#333}.color-swatches .gray{background-color:#555}.color-swatches .gray-light{background-color:#999}.color-swatches .gray-lighter{background-color:#eee}.color-swatches .brand-primary{background-color:#337ab7}.color-swatches .brand-success{background-color:#5cb85c}.color-swatches .brand-warning{background-color:#f0ad4e}.color-swatches .brand-danger{background-color:#d9534f}.color-swatches .brand-info{background-color:#5bc0de}.color-swatches .bs-purple{background-color:#563d7c}.color-swatches .bs-purple-light{background-color:#c7bfd3}.color-swatches .bs-purple-lighter{background-color:#e5e1ea}.color-swatches .bs-gray{background-color:#f9f9f9}.bs-team .team-member{line-height:32px;color:#555}.bs-team .team-member:hover{color:#333;text-decoration:none}.bs-team .github-btn{float:right;width:180px;height:20px;margin-top:6px}.bs-team img{float:left;width:32px;margin-right:10px;border-radius:4px}.bs-docs-browser-bugs td p{margin-bottom:0}.bs-docs-browser-bugs th:first-child{width:18%}.show-grid{margin-bottom:15px}.show-grid [class^=col-]{padding-top:10px;padding-bottom:10px;background-color:#eee;background-color:rgba(86,61,124,.15);border:1px solid #ddd;border:1px solid rgba(86,61,124,.2)}.bs-example{position:relative;padding:45px 15px 15px;margin:0 -15px 15px;border-color:#e5e5e5 #eee #eee;border-style:solid;border-width:1px 0;-webkit-box-shadow:inset 0 3px 6px rgba(0,0,0,.05);box-shadow:inset 0 3px 6px rgba(0,0,0,.05)}.bs-example:after{position:absolute;top:15px;left:15px;font-size:12px;font-weight:700;color:#959595;text-transform:uppercase;letter-spacing:1px;content:"Example"}.bs-example+.highlight,.bs-example+.zero-clipboard+.highlight{margin:-15px -15px 15px;border-width:0 0 1px;border-radius:0}@media (min-width:768px){.bs-example{margin-right:0;margin-left:0;background-color:#fff;border-color:#ddd;border-width:1px;border-radius:4px 4px 0 0;-webkit-box-shadow:none;box-shadow:none}.bs-example+.highlight,.bs-example+.zero-clipboard+.highlight{margin-top:-16px;margin-right:0;margin-left:0;border-width:1px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.bs-example-standalone{border-radius:4px}}.bs-example .container{width:auto}.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,.bs-example>.table-responsive:last-child>.table{margin-bottom:0}.bs-example>p>.close{float:none}.bs-example-type .table .type-info{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}.bs-example-bg-classes p{padding:15px}.bs-example>.img-circle,.bs-example>.img-rounded,.bs-example>.img-thumbnail{margin:5px}.bs-example>.table-responsive>.table{background-color:#fff}.bs-example>.btn,.bs-example>.btn-group{margin-top:5px;margin-bottom:5px}.bs-example>.btn-toolbar+.btn-toolbar{margin-top:10px}.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}.bs-example>.list-group{max-width:400px}.bs-example .navbar:last-child{margin-bottom:0}.bs-navbar-top-example,.bs-navbar-bottom-example{z-index:1;padding:0;overflow:hidden}.bs-navbar-top-example .navbar-header,.bs-navbar-bottom-example .navbar-header{margin-left:0}.bs-navbar-top-example .navbar-fixed-top,.bs-navbar-bottom-example .navbar-fixed-bottom{position:relative;margin-right:0;margin-left: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 .navbar-fixed-top,.bs-navbar-bottom-example .navbar-fixed-bottom{position:absolute}}.bs-example .pagination{margin-top:10px;margin-bottom:10px}.bs-example>.pager{margin-top:0}.bs-example-modal{background-color:#f5f5f5}.bs-example-modal .modal{position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:1;display:block}.bs-example-modal .modal-dialog{left:auto;margin-right:auto;margin-left:auto}.bs-example>.dropdown>.dropdown-toggle{float:left}.bs-example>.dropdown>.dropdown-menu{position:static;display:block;margin-bottom:5px;clear:left}.bs-example-tabs .nav-tabs{margin-bottom:15px}.bs-example-tooltips{text-align:center}.bs-example-tooltips>.btn{margin-top:5px;margin-bottom:5px}.bs-example-tooltip .tooltip{position:relative;display:inline-block;margin:10px 20px;opacity:1}.bs-example-popover{padding-bottom:24px;background-color:#f9f9f9}.bs-example-popover .popover{position:relative;display:block;float:left;width:260px;margin:20px}.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;word-break:normal;white-space:nowrap;background-color:transparent;border:0}.highlight pre code{font-size:inherit;color:#333}.highlight pre code:first-child{display:inline-block;padding-right:45px}.table-responsive .highlight pre{white-space:normal}.bs-table th small,.responsive-utilities th small{display:block;font-weight:400;color:#999}.responsive-utilities tbody th{font-weight:400}.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-utilities-test{margin-top:5px}.responsive-utilities-test .col-xs-6{margin-bottom:10px}.responsive-utilities-test span{display:block;padding:15px 10px;font-size:14px;font-weight:700;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 .hidden-xs,.hidden-on .col-xs-6 .hidden-sm,.hidden-on .col-xs-6 .hidden-md,.hidden-on .col-xs-6 .hidden-lg{color:#999;border:1px solid #ddd}.visible-on .col-xs-6 .visible-xs-block,.visible-on .col-xs-6 .visible-sm-block,.visible-on .col-xs-6 .visible-md-block,.visible-on .col-xs-6 .visible-lg-block,.hidden-on .col-xs-6 .visible-xs-block,.hidden-on .col-xs-6 .visible-sm-block,.hidden-on .col-xs-6 .visible-md-block,.hidden-on .col-xs-6 .visible-lg-block{color:#468847;background-color:#dff0d8;border:1px solid #d6e9c6}.bs-glyphicons{margin:0 -10px 20px;overflow:hidden}.bs-glyphicons-list{padding-left:0;list-style:none}.bs-glyphicons li{float:left;width:25%;height:115px;padding:10px;font-size:10px;line-height:1.4;text-align:center;background-color:#f9f9f9;border:1px solid #fff}.bs-glyphicons .glyphicon{margin-top:5px;margin-bottom:10px;font-size:24px}.bs-glyphicons .glyphicon-class{display:block;text-align:center;word-wrap:break-word}.bs-glyphicons li:hover{color:#fff;background-color:#563d7c}@media (min-width:768px){.bs-glyphicons{margin-right:0;margin-left:0}.bs-glyphicons li{width:12.5%;font-size:12px}}.bs-customizer .toggle{float:right;margin-top:25px}.bs-customizer label{margin-top:10px;font-weight:500;color:#555}.bs-customizer h2{padding-top:30px;margin-top:0;margin-bottom:5px}.bs-customizer h3{margin-bottom:0}.bs-customizer h4{margin-top:15px;margin-bottom:0}.bs-customizer .bs-callout h4{margin-top:0;margin-bottom:5px}.bs-customizer input[type=text]{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;background-color:#fafafa}.bs-customizer .help-block{margin-bottom:5px;font-size:12px}#less-section label{font-weight:400}.bs-customize-download .btn-outline{padding:20px}.bs-customizer-alert{position:fixed;top:0;right:0;left:0;z-index:1030;padding:15px 0;color:#fff;background-color:#d9534f;border-bottom:1px solid #b94441;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.bs-customizer-alert .close{margin-top:-4px;font-size:24px}.bs-customizer-alert p{margin-bottom:0}.bs-customizer-alert .glyphicon{margin-right:5px}.bs-customizer-alert pre{margin:10px 0 0;color:#fff;background-color:#a83c3a;border-color:#973634;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 2px 4px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.bs-dropzone{position:relative;padding:20px;margin-bottom:20px;color:#777;text-align:center;border:2px dashed #eee;border-radius:4px}.bs-dropzone h2{margin-top:0;margin-bottom:5px}.bs-dropzone hr{width:100px}.bs-dropzone .lead{margin-bottom:10px;font-weight:400;color:#333}#import-manual-trigger{cursor:pointer}.bs-dropzone p:last-child{margin-bottom:0}.bs-brand-logos{display:table;width:100%;margin-bottom:15px;overflow:hidden;color:#563d7c;background-color:#f9f9f9;border-radius:4px}.bs-brand-item{padding:60px 0;text-align:center}.bs-brand-item+.bs-brand-item{border-top:1px solid #fff}.bs-brand-logos .inverse{color:#fff;background-color:#563d7c}.bs-brand-item .svg{width:144px;height:144px}.bs-brand-item h1,.bs-brand-item h3{margin-top:0;margin-bottom:0}.bs-brand-item .bs-docs-booticon{margin-right:auto;margin-left:auto}.bs-brand-item .glyphicon{width:30px;height:30px;margin:10px auto -10px;line-height:30px;color:#fff;border-radius:50%}.bs-brand-item .glyphicon-ok{background-color:#5cb85c}.bs-brand-item .glyphicon-remove{background-color:#d9534f}@media (min-width:768px){.bs-brand-item{display:table-cell;width:1%}.bs-brand-item+.bs-brand-item{border-top:0;border-left:1px solid #fff}.bs-brand-item h1{font-size:60px}}.zero-clipboard{position:relative;display:none}.btn-clipboard{position:absolute;top:0;right:0;z-index:10;display:block;padding:5px 8px;font-size:12px;color:#777;cursor:pointer;background-color:#fff;border:1px solid #e1e1e8;border-radius:0 4px 0 4px}.btn-clipboard-hover{color:#fff;background-color:#563d7c;border-color:#563d7c}@media (min-width:768px){.zero-clipboard{display:block}.bs-example+.zero-clipboard .btn-clipboard{top:-16px;border-top-right-radius:0}}#focusedInput{border-color:#ccc;border-color:rgba(82,168,236,.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:0 0 8px rgba(82,168,236,.6);box-shadow:0 0 8px rgba(82,168,236,.6)}.hll{background-color:#ffc}.c{color:#999}.err{color:#A00;background-color:#FAA}.k{color:#069}.o{color:#555}.cm{color:#999}.cp{color:#099}.c1{color:#999}.cs{color:#999}.gd{background-color:#FCC;border:1px solid #C00}.ge{font-style:italic}.gr{color:red}.gh{color:#030}.gi{background-color:#CFC;border:1px solid #0C0}.go{color:#AAA}.gp{color:#009}.gu{color:#030}.gt{color:#9C6}.kc{color:#069}.kd{color:#069}.kn{color:#069}.kp{color:#069}.kr{color:#069}.kt{color:#078}.m{color:#F60}.s{color:#d44950}.na{color:#4f9fcf}.nb{color:#366}.nc{color:#0A8}.no{color:#360}.nd{color:#99F}.ni{color:#999}.ne{color:#C00}.nf{color:#C0F}.nl{color:#99F}.nn{color:#0CF}.nt{color:#2f6f9f}.nv{color:#033}.ow{color:#000}.w{color:#bbb}.mf{color:#F60}.mh{color:#F60}.mi{color:#F60}.mo{color:#F60}.sb{color:#C30}.sc{color:#C30}.sd{color:#C30;font-style:italic}.s2{color:#C30}.se{color:#C30}.sh{color:#C30}.si{color:#A00}.sx{color:#C30}.sr{color:#3AA}.s1{color:#C30}.ss{color:#FC3}.bp{color:#366}.vc{color:#033}.vg{color:#033}.vi{color:#033}.il{color:#F60}.css .o,.css .o+.nt,.css .nt+.nt{color:#999} \ No newline at end of file + */body{position:relative} +.table code{font-size:13px;font-weight:400} +.btn-outline{color:#1a8bcb;background-color:transparent;border-color:#1a8bcb} +.btn-outline:hover,.btn-outline:focus,.btn-outline:active{color:#fff;background-color:#1a8bcb;border-color:#1a8bcb} +.btn-outline-inverse{color:#fff;background-color:transparent;border-color:#bfe9ff} +.btn-outline-inverse:hover,.btn-outline-inverse:focus,.btn-outline-inverse:active{color:#1a8bcb;text-shadow:none;background-color:#fff;border-color:#fff} +.bs-docs-booticon{display:block;font-weight:500;color:#fff;text-align:center;cursor:default;background-color:#1a8bcb;border-radius:15%} +.bs-docs-booticon-sm{width:30px;height:30px;font-size:20px;line-height:28px} +.bs-docs-booticon-lg{width:144px;height:144px;font-size:108px;line-height:140px} +.bs-docs-booticon-inverse{color:#1a8bcb;background-color:#fff} +.bs-docs-booticon-outline{background-color:transparent;border:1px solid #bfe9ff} +.bs-docs-nav{margin-bottom:0;background-color:#fff;border-bottom:0} +.bs-home-nav .bs-nav-b{display:none} +.bs-docs-nav .navbar-brand,.bs-docs-nav .navbar-nav>li>a{font-weight:500;color:#1a8bcb} +.bs-docs-nav .navbar-nav>li>a:hover,.bs-docs-nav .navbar-nav>.active>a,.bs-docs-nav .navbar-nav>.active>a:hover{color:#463265;background-color:#f9f9f9} +.bs-docs-nav .navbar-toggle .icon-bar{background-color:#1a8bcb} +.bs-docs-nav .navbar-header .navbar-toggle{border-color:#fff} +.bs-docs-nav .navbar-header .navbar-toggle:hover,.bs-docs-nav .navbar-header .navbar-toggle:focus{background-color:#f9f9f9;border-color:#f9f9f9} +.bs-docs-footer{padding-top:40px;padding-bottom:40px;margin-top:100px;color:#777;text-align:center;border-top:1px solid #e5e5e5} +.bs-docs-footer-links{padding-left:0;margin-top:20px;color:#999} +.bs-docs-footer-links li{display:inline;padding:0 2px} +.bs-docs-footer-links li:first-child{padding-left:0} +@media (min-width:768px){.bs-docs-footer p{margin-bottom:0} +} +.bs-docs-social{margin-bottom:20px;text-align:center} +.bs-docs-social-buttons{display:inline-block;padding-left:0;margin-bottom:0;list-style:none} +.bs-docs-social-buttons li{display:inline-block;padding:5px 8px;line-height:1} +.bs-docs-social-buttons .twitter-follow-button{width:225px!important} +.bs-docs-social-buttons .twitter-share-button{width:98px!important} +.github-btn{overflow:hidden;border:0} +.bs-docs-masthead,.bs-docs-header{ +position:relative;padding:30px 15px; +color:#bfe9ff; +text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.1); +background-color:#1aa1cb; +background-image:-webkit-gradient(linear,left top,left bottom,from(#1a8bcb),to(#1aa1cb)); +background-image:-webkit-linear-gradient(top,#1a8bcb 0,#1aa1cb 100%); +background-image:-o-linear-gradient(top,#1a8bcb 0,#1aa1cb 100%); +background-image:linear-gradient(to bottom,#1a8bcb 0,#1aa1cb 100%); +filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#1a8bcb', endColorstr='#1AA1CB', GradientType=0); +background-repeat:repeat-x +} +.bs-docs-masthead .bs-docs-booticon{margin:0 auto 30px} +.bs-docs-masthead h1{font-weight:300;line-height:1;color:#fff} +.bs-docs-masthead .lead{margin:0 auto 30px;font-size:20px;color:#fff} +.bs-docs-masthead .version{margin-top:-15px;margin-bottom:30px;color:#9783b9} +.bs-docs-masthead .btn{width:100%;padding:15px 30px;font-size:20px} +@media (min-width:480px){.bs-docs-masthead .btn{width:auto} +} +@media (min-width:768px){.bs-docs-masthead{padding:80px 0} +.bs-docs-masthead h1{font-size:60px} +.bs-docs-masthead .lead{font-size:24px} +} +@media (min-width:992px){.bs-docs-masthead .lead{width:80%;font-size:30px} +} +.bs-docs-header{margin-bottom:40px;font-size:20px} +.bs-docs-header h1{margin-top:0;color:#fff} +.bs-docs-header h1 a { text-decoration: none; color: #fff } +.bs-docs-header h1 a:hover { text-decoration: none; color: #bfe9ff } +.bs-docs-header p{margin-bottom:0;font-weight:300;line-height:1.4} +.bs-docs-header .container{position:relative} +@media (min-width:768px){.bs-docs-header{padding-top:40px;padding-bottom:30px;font-size:24px;text-align:left} +.bs-docs-header h1{font-size:60px;line-height:1} +} +@media (min-width:992px){.bs-docs-header h1,.bs-docs-header p{margin-right:380px} +} +.carbonad{width:auto!important;height:auto!important;padding:20px!important;margin:30px -30px -31px!important;overflow:hidden;font-size:13px!important;line-height:16px!important;text-align:left;background:transparent!important;border:solid #866ab3!important;border-width:1px 0!important} +.carbonad-img{margin:0!important} +.carbonad-text,.carbonad-tag{display:block!important;float:none!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{color:inherit!important;text-align:left!important} +.carbonad-text a,.carbonad-tag a{color:#fff!important} +.carbonad #azcarbon>img{display:none} +@media (min-width:480px){.carbonad{width:330px!important;margin:20px auto!important;border-width:1px!important;border-radius:4px} +.bs-docs-masthead .carbonad{margin:50px auto 0!important} +} +@media (min-width:768px){.carbonad{margin-right:0!important;margin-left:0!important} +} +@media (min-width:992px){.carbonad{position:absolute;top:0;right:15px;width:330px!important;padding:15px!important;margin:0!important} +.bs-docs-masthead .carbonad{position:static} +} +.bs-docs-featurette{padding-top:40px;padding-bottom:40px;font-size:16px;line-height:1.5;color:#555;text-align:center;background-color:#fff;border-bottom:1px solid #e5e5e5} +.bs-docs-featurette+.bs-docs-footer{margin-top:0;border-top:0} +.bs-docs-featurette-title{margin-bottom:5px;font-size:30px;font-weight:400;color:#333} +.half-rule{width:100px;margin:40px auto} +.bs-docs-featurette h3{margin-bottom:5px;font-weight:400;color:#333} +.bs-docs-featurette-img{display:block;margin-bottom:20px;color:#333} +.bs-docs-featurette-img:hover{color:#337ab7;text-decoration:none} +.bs-docs-featurette-img img{display:block;margin-bottom:15px} +@media (min-width:480px){.bs-docs-featurette .img-responsive{margin-top:30px} +} +@media (min-width:768px){.bs-docs-featurette{padding-top:100px;padding-bottom:100px} +.bs-docs-featurette-title{font-size:40px} +.bs-docs-featurette .lead{max-width:80%;margin-right:auto;margin-left:auto} +.bs-docs-featurette .img-responsive{margin-top:0} +} +.bs-docs-featured-sites{margin-right:-1px;margin-left:-1px} +.bs-docs-featured-sites .col-xs-6{padding:1px} +.bs-docs-featured-sites .img-responsive{margin-top:0} +@media (min-width:768px){.bs-docs-featured-sites .col-sm-3:first-child img{border-top-left-radius:4px;border-bottom-left-radius:4px} +.bs-docs-featured-sites .col-sm-3:last-child img{border-top-right-radius:4px;border-bottom-right-radius:4px} +} +.bs-examples .thumbnail{margin-bottom:10px} +.bs-examples h4{margin-bottom:5px} +.bs-examples p{margin-bottom:20px} +@media (max-width:480px){.bs-examples{margin-right:-10px;margin-left:-10px} +.bs-examples>[class^=col-]{padding-right:10px;padding-left:10px} +} +.bs-docs-sidebar.affix{position:static} +@media (min-width:768px){.bs-docs-sidebar{padding-left:20px} +} +.bs-docs-sidenav{margin-top:20px;margin-bottom:20px} +.bs-docs-sidebar .nav>li>a{display:block;padding:4px 20px;font-size:13px;font-weight:500;color:#999} +.bs-docs-sidebar .nav>li>a:hover,.bs-docs-sidebar .nav>li>a:focus{padding-left:19px;color:#1a8bcb;text-decoration:none;background-color:transparent;border-left:1px solid #1a8bcb} +.bs-docs-sidebar .nav>.active>a,.bs-docs-sidebar .nav>.active:hover>a,.bs-docs-sidebar .nav>.active:focus>a{padding-left:18px;font-weight:700;color:#1a8bcb;background-color:transparent;border-left:2px solid #1a8bcb} +.bs-docs-sidebar .nav .nav{display:none;padding-bottom:10px} +.bs-docs-sidebar .nav .nav>li>a{padding-top:1px;padding-bottom:1px;padding-left:30px;font-size:12px;font-weight:400} +.bs-docs-sidebar .nav .nav>li>a:hover,.bs-docs-sidebar .nav .nav>li>a:focus{padding-left:29px} +.bs-docs-sidebar .nav .nav>.active>a,.bs-docs-sidebar .nav .nav>.active:hover>a,.bs-docs-sidebar .nav .nav>.active:focus>a{padding-left:28px;font-weight:500} +.back-to-top,.bs-docs-theme-toggle{display:none;padding:4px 10px;margin-top:10px;margin-left:10px;font-size:12px;font-weight:500;color:#999} +.back-to-top:hover,.bs-docs-theme-toggle:hover{color:#1a8bcb;text-decoration:none} +.bs-docs-theme-toggle{margin-top:0} +@media (min-width:768px){.back-to-top,.bs-docs-theme-toggle{display:block} +} +@media (min-width:992px){.bs-docs-sidebar .nav>.active>ul{display:block} +.bs-docs-sidebar.affix,.bs-docs-sidebar.affix-bottom{width:213px} +.bs-docs-sidebar.affix{position:fixed;top:20px} +.bs-docs-sidebar.affix-bottom{position:absolute} +.bs-docs-sidebar.affix-bottom .bs-docs-sidenav,.bs-docs-sidebar.affix .bs-docs-sidenav{margin-top:0;margin-bottom:0} +} +@media (min-width:1200px){.bs-docs-sidebar.affix-bottom,.bs-docs-sidebar.affix{width:263px} +} +.bs-docs-section{margin-bottom:60px} +.bs-docs-section:last-child{margin-bottom:0} +h1[id]{padding-top:20px;margin-top:0} +.bs-callout{padding:20px;margin:20px 0;border:1px solid #eee;border-left-width:5px;border-radius:3px} +.bs-callout h4{margin-top:0;margin-bottom:5px} +.bs-callout p:last-child{margin-bottom:0} +.bs-callout code{border-radius:3px} +.bs-callout+.bs-callout{margin-top:-5px} +.bs-callout-danger{border-left-color:#d9534f} +.bs-callout-danger h4{color:#d9534f} +.bs-callout-warning{border-left-color:#f0ad4e} +.bs-callout-warning h4{color:#f0ad4e} +.bs-callout-info{border-left-color:#5bc0de} +.bs-callout-info h4{color:#5bc0de} +.color-swatches{margin:0 -5px;overflow:hidden} +.color-swatch{float:left;width:60px;height:60px;margin:0 5px;border-radius:3px} +@media (min-width:768px){.color-swatch{width:100px;height:100px} +} +.color-swatches .gray-darker{background-color:#222} +.color-swatches .gray-dark{background-color:#333} +.color-swatches .gray{background-color:#555} +.color-swatches .gray-light{background-color:#999} +.color-swatches .gray-lighter{background-color:#eee} +.color-swatches .brand-primary{background-color:#337ab7} +.color-swatches .brand-success{background-color:#5cb85c} +.color-swatches .brand-warning{background-color:#f0ad4e} +.color-swatches .brand-danger{background-color:#d9534f} +.color-swatches .brand-info{background-color:#5bc0de} +.color-swatches .bs-purple{background-color:#1a8bcb} +.color-swatches .bs-purple-light{background-color:#c7bfd3} +.color-swatches .bs-purple-lighter{background-color:#e5e1ea} +.color-swatches .bs-gray{background-color:#f9f9f9} +.bs-team .team-member{line-height:32px;color:#555} +.bs-team .team-member:hover{color:#333;text-decoration:none} +.bs-team .github-btn{float:right;width:180px;height:20px;margin-top:6px} +.bs-team img{float:left;width:32px;margin-right:10px;border-radius:4px} +.bs-docs-browser-bugs td p{margin-bottom:0} +.bs-docs-browser-bugs th:first-child{width:18%} +.show-grid{margin-bottom:15px} +.show-grid [class^=col-]{padding-top:10px;padding-bottom:10px;background-color:#eee;background-color:rgba(86,61,124,.15);border:1px solid #ddd;border:1px solid rgba(86,61,124,.2)} +.bs-example{position:relative;padding:45px 15px 15px;margin:0 -15px 15px;border-color:#e5e5e5 #eee #eee;border-style:solid;border-width:1px 0;-webkit-box-shadow:inset 0 3px 6px rgba(0,0,0,.05);box-shadow:inset 0 3px 6px rgba(0,0,0,.05)} +.bs-example:after{position:absolute;top:15px;left:15px;font-size:12px;font-weight:700;color:#959595;text-transform:uppercase;letter-spacing:1px;content:"Example"} +.bs-example+.highlight,.bs-example+.zero-clipboard+.highlight{margin:-15px -15px 15px;border-width:0 0 1px;border-radius:0} +@media (min-width:768px){.bs-example{margin-right:0;margin-left:0;background-color:#fff;border-color:#ddd;border-width:1px;border-radius:4px 4px 0 0;-webkit-box-shadow:none;box-shadow:none} +.bs-example+.highlight,.bs-example+.zero-clipboard+.highlight{margin-top:-16px;margin-right:0;margin-left:0;border-width:1px;border-bottom-right-radius:4px;border-bottom-left-radius:4px} +.bs-example-standalone{border-radius:4px} +} +.bs-example .container{width:auto} +.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,.bs-example>.table-responsive:last-child>.table{margin-bottom:0} +.bs-example>p>.close{float:none} +.bs-example-type .table .type-info{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} +.bs-example-bg-classes p{padding:15px} +.bs-example>.img-circle,.bs-example>.img-rounded,.bs-example>.img-thumbnail{margin:5px} +.bs-example>.table-responsive>.table{background-color:#fff} +.bs-example>.btn,.bs-example>.btn-group{margin-top:5px;margin-bottom:5px} +.bs-example>.btn-toolbar+.btn-toolbar{margin-top:10px} +.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} +.bs-example>.list-group{max-width:400px} +.bs-example .navbar:last-child{margin-bottom:0} +.bs-navbar-top-example,.bs-navbar-bottom-example{z-index:1;padding:0;overflow:hidden} +.bs-navbar-top-example .navbar-header,.bs-navbar-bottom-example .navbar-header{margin-left:0} +.bs-navbar-top-example .navbar-fixed-top,.bs-navbar-bottom-example .navbar-fixed-bottom{position:relative;margin-right:0;margin-left: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 .navbar-fixed-top,.bs-navbar-bottom-example .navbar-fixed-bottom{position:absolute} +} +.bs-example .pagination{margin-top:10px;margin-bottom:10px} +.bs-example>.pager{margin-top:0} +.bs-example-modal{background-color:#f5f5f5} +.bs-example-modal .modal{position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:1;display:block} +.bs-example-modal .modal-dialog{left:auto;margin-right:auto;margin-left:auto} +.bs-example>.dropdown>.dropdown-toggle{float:left} +.bs-example>.dropdown>.dropdown-menu{position:static;display:block;margin-bottom:5px;clear:left} +.bs-example-tabs .nav-tabs{margin-bottom:15px} +.bs-example-tooltips{text-align:center} +.bs-example-tooltips>.btn{margin-top:5px;margin-bottom:5px} +.bs-example-tooltip .tooltip{position:relative;display:inline-block;margin:10px 20px;opacity:1} +.bs-example-popover{padding-bottom:24px;background-color:#f9f9f9} +.bs-example-popover .popover{position:relative;display:block;float:left;width:260px;margin:20px} +.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;word-break:normal;white-space:nowrap;background-color:transparent;border:0} +.highlight pre code{font-size:inherit;color:#333} +.highlight pre code:first-child{display:inline-block;padding-right:45px} +.table-responsive .highlight pre{white-space:normal} +.bs-table th small,.responsive-utilities th small{display:block;font-weight:400;color:#999} +.responsive-utilities tbody th{font-weight:400} +.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-utilities-test{margin-top:5px} +.responsive-utilities-test .col-xs-6{margin-bottom:10px} +.responsive-utilities-test span{display:block;padding:15px 10px;font-size:14px;font-weight:700;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 .hidden-xs,.hidden-on .col-xs-6 .hidden-sm,.hidden-on .col-xs-6 .hidden-md,.hidden-on .col-xs-6 .hidden-lg{color:#999;border:1px solid #ddd} +.visible-on .col-xs-6 .visible-xs-block,.visible-on .col-xs-6 .visible-sm-block,.visible-on .col-xs-6 .visible-md-block,.visible-on .col-xs-6 .visible-lg-block,.hidden-on .col-xs-6 .visible-xs-block,.hidden-on .col-xs-6 .visible-sm-block,.hidden-on .col-xs-6 .visible-md-block,.hidden-on .col-xs-6 .visible-lg-block{color:#468847;background-color:#dff0d8;border:1px solid #d6e9c6} +.bs-glyphicons{margin:0 -10px 20px;overflow:hidden} +.bs-glyphicons-list{padding-left:0;list-style:none} +.bs-glyphicons li{float:left;width:25%;height:115px;padding:10px;font-size:10px;line-height:1.4;text-align:center;background-color:#f9f9f9;border:1px solid #fff} +.bs-glyphicons .glyphicon{margin-top:5px;margin-bottom:10px;font-size:24px} +.bs-glyphicons .glyphicon-class{display:block;text-align:center;word-wrap:break-word} +.bs-glyphicons li:hover{color:#fff;background-color:#1a8bcb} +@media (min-width:768px){.bs-glyphicons{margin-right:0;margin-left:0} +.bs-glyphicons li{width:12.5%;font-size:12px} +} +.bs-customizer .toggle{float:right;margin-top:25px} +.bs-customizer label{margin-top:10px;font-weight:500;color:#555} +.bs-customizer h2{padding-top:30px;margin-top:0;margin-bottom:5px} +.bs-customizer h3{margin-bottom:0} +.bs-customizer h4{margin-top:15px;margin-bottom:0} +.bs-customizer .bs-callout h4{margin-top:0;margin-bottom:5px} +.bs-customizer input[type=text]{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;background-color:#fafafa} +.bs-customizer .help-block{margin-bottom:5px;font-size:12px} +#less-section label{font-weight:400} +.bs-customize-download .btn-outline{padding:20px} +.bs-customizer-alert{position:fixed;top:0;right:0;left:0;z-index:1030;padding:15px 0;color:#fff;background-color:#d9534f;border-bottom:1px solid #b94441;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)} +.bs-customizer-alert .close{margin-top:-4px;font-size:24px} +.bs-customizer-alert p{margin-bottom:0} +.bs-customizer-alert .glyphicon{margin-right:5px} +.bs-customizer-alert pre{margin:10px 0 0;color:#fff;background-color:#a83c3a;border-color:#973634;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 2px 4px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} +.bs-dropzone{position:relative;padding:20px;margin-bottom:20px;color:#777;text-align:center;border:2px dashed #eee;border-radius:4px} +.bs-dropzone h2{margin-top:0;margin-bottom:5px} +.bs-dropzone hr{width:100px} +.bs-dropzone .lead{margin-bottom:10px;font-weight:400;color:#333} +#import-manual-trigger{cursor:pointer} +.bs-dropzone p:last-child{margin-bottom:0} +.bs-brand-logos{display:table;width:100%;margin-bottom:15px;overflow:hidden;color:#1a8bcb;background-color:#f9f9f9;border-radius:4px} +.bs-brand-item{padding:60px 0;text-align:center} +.bs-brand-item+.bs-brand-item{border-top:1px solid #fff} +.bs-brand-logos .inverse{color:#fff;background-color:#1a8bcb} +.bs-brand-item .svg{width:144px;height:144px} +.bs-brand-item h1,.bs-brand-item h3{margin-top:0;margin-bottom:0} +.bs-brand-item .bs-docs-booticon{margin-right:auto;margin-left:auto} +.bs-brand-item .glyphicon{width:30px;height:30px;margin:10px auto -10px;line-height:30px;color:#fff;border-radius:50%} +.bs-brand-item .glyphicon-ok{background-color:#5cb85c} +.bs-brand-item .glyphicon-remove{background-color:#d9534f} +@media (min-width:768px){.bs-brand-item{display:table-cell;width:1%} +.bs-brand-item+.bs-brand-item{border-top:0;border-left:1px solid #fff} +.bs-brand-item h1{font-size:60px} +} +.zero-clipboard{position:relative;display:none} +.btn-clipboard{position:absolute;top:0;right:0;z-index:10;display:block;padding:5px 8px;font-size:12px;color:#777;cursor:pointer;background-color:#fff;border:1px solid #e1e1e8;border-radius:0 4px 0 4px} +.btn-clipboard-hover{color:#fff;background-color:#1a8bcb;border-color:#1a8bcb} +@media (min-width:768px){.zero-clipboard{display:block} +.bs-example+.zero-clipboard .btn-clipboard{top:-16px;border-top-right-radius:0} +} +#focusedInput{border-color:#ccc;border-color:rgba(82,168,236,.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:0 0 8px rgba(82,168,236,.6);box-shadow:0 0 8px rgba(82,168,236,.6)} +.hll{background-color:#ffc} +.c{color:#999} +.err{color:#A00;background-color:#FAA} +.k{color:#069} +.o{color:#555} +.cm{color:#999} +.cp{color:#099} +.c1{color:#999} +.cs{color:#999} +.gd{background-color:#FCC;border:1px solid #C00} +.ge{font-style:italic} +.gr{color:red} +.gh{color:#030} +.gi{background-color:#CFC;border:1px solid #0C0} +.go{color:#AAA} +.gp{color:#009} +.gu{color:#030} +.gt{color:#9C6} +.kc{color:#069} +.kd{color:#069} +.kn{color:#069} +.kp{color:#069} +.kr{color:#069} +.kt{color:#078} +.m{color:#F60} +.s{color:#d44950} +.na{color:#4f9fcf} +.nb{color:#366} +.nc{color:#0A8} +.no{color:#360} +.nd{color:#99F} +.ni{color:#999} +.ne{color:#C00} +.nf{color:#C0F} +.nl{color:#99F} +.nn{color:#0CF} +.nt{color:#2f6f9f} +.nv{color:#033} +.ow{color:#000} +.w{color:#bbb} +.mf{color:#F60} +.mh{color:#F60} +.mi{color:#F60} +.mo{color:#F60} +.sb{color:#C30} +.sc{color:#C30} +.sd{color:#C30;font-style:italic} +.s2{color:#C30} +.se{color:#C30} +.sh{color:#C30} +.si{color:#A00} +.sx{color:#C30} +.sr{color:#3AA} +.s1{color:#C30} +.ss{color:#FC3} +.bp{color:#366} +.vc{color:#033} +.vg{color:#033} +.vi{color:#033} +.il{color:#F60} +.css .o,.css .o+.nt,.css .nt+.nt{color:#999} + +h1 { + font-size: 40px; +} +h2 { + font-size: 25px; +} + +code { + color: #4E25C7; + background-color: #F4F2F9; +} \ No newline at end of file diff --git a/doc/www/foot.php b/doc/www/foot.php index 3404d388..7512d3ad 100644 --- a/doc/www/foot.php +++ b/doc/www/foot.php @@ -11,7 +11,12 @@ <a class="back-to-top" href="#top"> Back to top </a> - + <?php foreach($otherlang as $l) { ?> +<a class="back-to-top" href="<?php echo str_replace("/".$lang."/","/".$l."/",$_SERVER["REQUEST_URI"]); ?>"> + <?php echo $l; ?> + </a> + <?php } ?> + </div> </div> @@ -24,45 +29,52 @@ <div class="container"> <div class="bs-docs-social"> <ul class="bs-docs-social-buttons"> - <li> - <iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twbs&repo=bootstrap&type=watch&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&repo=bootstrap&type=fork&count=true" width="102" height="20" title="Fork on GitHub"></iframe> + <li class="follow-btn"> + <a href="/" class="twitter-follow-button">Site d'AlternC</a> </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> + <a href="http://demo.alternc.org" class="twitter-follow-button"><?php +switch ($lang) { +case "fr": + echo "Serveur de Démonstration"; +break; +case "en": +default: + echo "Demonstration Server"; +break; +} +?></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 Bootstrap">Tweet</a> + <li class="follow-btn"> + <a href="https://twitter.com/AlternC_en" class="twitter-follow-button"><?php +switch ($lang) { +case "fr": + echo "@AlternC_en sur Twitter"; +break; +case "en": +default: + echo "@AlternC_en on Twitter"; +break; +} +?></a> + </li> + <li class="follow-btn"> + <a href="https://github.com/alternc/" class="twitter-follow-button"><?php +switch ($lang) { +case "fr": + echo "Code source sur Github"; +break; +case "en": +default: + echo "Source code on Github"; +break; +} +?></a> </li> </ul> </div> +</div> - - <p>Designed and built with all the love in the world by <a href="https://twitter.com/mdo" target="_blank">@mdo</a> and <a href="https://twitter.com/fat" target="_blank">@fat</a>.</p> - <p>Maintained by the <a href="https://github.com/orgs/twbs/people">core team</a> with the help of <a href="https://github.com/twbs/bootstrap/graphs/contributors">our contributors</a>.</p> - <p>Code licensed under <a href="https://github.com/twbs/bootstrap/blob/master/LICENSE" target="_blank">MIT</a>, documentation under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p> - <ul class="bs-docs-footer-links muted"> - <li>Currently v3.3.1</li> - <li>·</li> - <li><a href="https://github.com/twbs/bootstrap">GitHub</a></li> - <li>·</li> - <li><a href="../getting-started/#examples">Examples</a></li> - <li>·</li> - <li><a href="../2.3.2/">v2.3.2 docs</a></li> - <li>·</li> - <li><a href="../about/">About</a></li> - <li>·</li> - <li><a href="http://expo.getbootstrap.com">Expo</a></li> - <li>·</li> - <li><a href="http://blog.getbootstrap.com">Blog</a></li> - <li>·</li> - <li><a href="https://github.com/twbs/bootstrap/issues">Issues</a></li> - <li>·</li> - <li><a href="https://github.com/twbs/bootstrap/releases">Releases</a></li> - </ul> - </div> </footer> <!-- Bootstrap core JavaScript diff --git a/doc/www/head.php b/doc/www/head.php index b645d52b..e3fcded0 100644 --- a/doc/www/head.php +++ b/doc/www/head.php @@ -1,5 +1,5 @@ <!DOCTYPE html> -<html lang="en"> +<html lang="<?php echo $lang; ?>"> <head> <!-- Meta, title, CSS, favicons, etc. --> <meta charset="utf-8"> @@ -9,16 +9,14 @@ <meta name="keywords" content="HTML, CSS, JS, JavaScript, framework, bootstrap, front-end, frontend, web development"> <meta name="author" content="Mark Otto, Jacob Thornton, and Bootstrap contributors"> -<title> - - Components · Bootstrap - -</title> +<title>AlternC<?php if ($title) { echo " - ".$title; } ?></title> <!-- Bootstrap core CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"> +<link rel="stylesheet" href="assets/css/docs.min.css"> + <!--[if lt IE 9]><script src="assets/js/ie8-responsive-file-warning.js"></script><![endif]--> <script src="assets/js/ie-emulation-modes-warning.js"></script> @@ -35,62 +33,16 @@ </head> <body> -<style type="text/css"> -#bandeauzero { - width:100%; height:44px; -} -#bandeaulautre { -position: fixed; left: 0; width:100%; min-height:32px; background:#eee; border-bottom: 1px solid #ccc; font-family: sans-serif; - font-size: 14px !important; color:black; padding-top: 4px; margin-bottom: 6px; z-index: 100; -} - -#bandeaulautre .home { - float:left; text-align:left; display:block; padding:0px 0px 0px 12px; -} - -#bandeaulautre .links { - float:right; text-align:right; display:block; padding:0px 6px 0px 0px; -} - -#bandeaulautre a, - #bandeaulautre a:link, - #bandeaulautre a:active, - #bandeaulautre a:visited { -color: black; text-decoration:none; margin: 0 8px; -} - -#bandeaulautre a:hover { -color:#F4520A; -} -#bandeaulautre img { -margin: 0; padding: 0 8px; vertical-align: middle; -} -</style> -<div id="bandeaulautre"> - <span class="home"> - <a href="http://www.alternc.com"> <img src="alternc.png"> - AlternC panel d'hébergement</a> - <a href="http://www.alternc.com/install">Installation & Mise à jour</a> - <a href="http://www.aide-alternc.org/">Documentation</a> - <a href="http://www.alternc.org/">Site des développeurs</a> - </span> - <span class="links"> - <a href="http://demo.alternc.org">Démonstration</multi></a> - <a href="http://www.alternc.net/">Service DNS</a> - <a href="irc://irc.freenode.net/#alternc">Chat IRC</a> - <a href="https://www.github.com/alternc">Code source</a> - <img src="compass.png"> - </span> -</div> -<div id="bandeauzero"> -</div> - <!-- Docs page layout --> <div class="bs-docs-header" id="content"> <div class="container"> - <h1>Components</h1> - <p>Over a dozen reusable components built to provide iconography, dropdowns, input groups, navigation, alerts, and much more.</p> + <div style="float: left; padding-right: 30px"> + <a href="/"><img src="logo.png" alt="AlternC" /></a> + </div> + <h1><a href="/">AlternC</a></h1> + <p>Suite logicielle de gestion de serveur web & mail</p> + <?php if ($title) { echo "<p>".$title."</p>"; } ?> </div> </div> diff --git a/doc/www/index.php b/doc/www/home.php similarity index 87% rename from doc/www/index.php rename to doc/www/home.php index 1586c56c..0c48cc8a 100644 --- a/doc/www/index.php +++ b/doc/www/home.php @@ -1,9 +1,19 @@ <?php header("Content-Type: text/html; charset=UTF-8"); +switch ($lang) { +case "fr": + $title=""; + break; +case "en": +default: + $title=""; + break; +} require_once("head.php"); -$f=fopen("../install.php","rb"); +$f=fopen("../home_".$lang.".html","rb"); + $headings=array(); $cur=array(); $id=""; $name=""; while ($s=fgets($f,1024)) { diff --git a/doc/www/install.php b/doc/www/install.php new file mode 100644 index 00000000..b5070b29 --- /dev/null +++ b/doc/www/install.php @@ -0,0 +1,49 @@ +<?php +header("Content-Type: text/html; charset=UTF-8"); + +switch ($lang) { +case "fr": + $title="Documentation d'installation"; + break; +case "en": +default: + $title="Install Documentation"; + break; +} +require_once("head.php"); + +$f=fopen("../install_".$lang.".html","rb"); + +$headings=array(); +$cur=array(); $id=""; $name=""; +while ($s=fgets($f,1024)) { + echo $s; + if (preg_match('#<h1 id="([^"]*)">([^<]*)</h1>#',$s,$mat)) { + if ($id) $headings[]=array("id"=>$id, "name"=>$name, "cur"=>$cur); + $id=$mat[1]; $name=$mat[2]; + $cur=array(); + } + if (preg_match('#<h2 id="([^"]*)">([^<]*)</h2>#',$s,$mat)) { + $cur[]=array("id"=>$mat[1], "name"=>$mat[2]); + } +} +if ($id) $headings[]=array("id"=>$id, "name"=>$name, "cur"=>$cur); + +ob_start(); +foreach($headings as $v) { +?> + <li> + <a href="#<?php echo $v["id"]; ?>"><?php echo $v["name"]; ?></a> +<?php if (count($v["cur"])) { ?> + <ul class="nav"> + <?php foreach($v["cur"] as $vv) { ?> + <li><a href="#<?php echo $vv["id"]; ?>"><?php echo $vv["name"]; ?></a></li> + <?php } ?> + </ul> + <?php } ?> +</li> +<?php +} + $index=ob_get_clean(); +require_once("foot.php"); + diff --git a/doc/www/logo.png b/doc/www/logo.png new file mode 100644 index 00000000..a1e01775 Binary files /dev/null and b/doc/www/logo.png differ diff --git a/doc/www/navbar b/doc/www/navbar deleted file mode 100644 index 840f7469..00000000 --- a/doc/www/navbar +++ /dev/null @@ -1,23 +0,0 @@ - <nav class="collapse navbar-collapse bs-navbar-collapse" role="navigation"> - <ul class="nav navbar-nav"> - <li> - <a href="../getting-started/">Getting started</a> - </li> - <li> - <a href="../css/">CSS</a> - </li> - <li class="active"> - <a href="../components/">Components</a> - </li> - <li> - <a href="../javascript/">JavaScript</a> - </li> - <li> - <a href="../customize/">Customize</a> - </li> - </ul> - <ul class="nav navbar-nav navbar-right"> - <li><a href="http://expo.getbootstrap.com" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Expo');">Expo</a></li> - <li><a href="http://blog.getbootstrap.com" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Blog');">Blog</a></li> - </ul> - </nav> diff --git a/doc/www/router.php b/doc/www/router.php new file mode 100644 index 00000000..fa4e4cba --- /dev/null +++ b/doc/www/router.php @@ -0,0 +1,48 @@ +<?php + +// List here the supported languages : +$otherlang=array( + "fr" => "Français", + "en" => "English" + ); + +$uri=trim($_SERVER["REQUEST_URI"],"/"); + +// auto lang redirect: +if (!$uri) { + $lang="en"; + if (isset($_SERVER["ACCEPT_LANGUAGE"])) { + $l=substr($_SERVER["ACCEPT_LANGUAGE"],0,2); + if (isset($otherlang[$l])) { + $lang=$l; + } + } + header("Location: /".$lang); + exit(); +} + +list($lang,$uri)=explode("/",$uri,2); + + +if (!isset($otherlang[$lang])) { + header("HTTP/1.0 404 Not Found"); + echo "<h1>Lang not supported</h1>"; + exit(); +} + +unset($otherlang[$lang]); + +// Now we spit the proper page: +switch ($uri) { +case "install": + require_once("install.php"); + exit(); +case "": + require_once("home.php"); + exit(); +default: + header("HTTP/1.0 404 Not Found"); + echo "<h1>Page not found</h1>"; + exit(); +} +