Bug fixes + interactive setup UI
This commit is contained in:
1 parent
3300d42866
commit
9414380c9f
14 files changed
+257
-10
No files matched your search
@@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file.
|
|||||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
### Added
|
||||||
|
- Interactive setup
|
||||||
|
- GitHub and Slack authentication providers are now available
|
||||||
|
- Experimental: LDAP authentication provider
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Content headers are now showing an anchor icon instead of a #
|
||||||
|
- Sidebar: Contents is now Page Contents
|
||||||
|
- Sidebar: Start is now Top of Page
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Search index should now update upon article creation
|
||||||
|
- Missing icons on login page
|
||||||
|
|
||||||
## [v1.0.0-beta.8] - 2017-02-19
|
## [v1.0.0-beta.8] - 2017-02-19
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
* Licensed under the MIT license - http://opensource.org/licenses/MIT
|
* Licensed under the MIT license - http://opensource.org/licenses/MIT
|
||||||
*
|
*
|
||||||
* Copyright (c) 2016 Daniel Eden
|
* Copyright (c) 2016 Daniel Eden
|
||||||
*/.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-Line truncated
|
*/.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-Line truncated
|
||||||
* jQuery contextMenu - Plugin for simple contextMenu handling
|
* jQuery contextMenu - Plugin for simple contextMenu handling
|
||||||
*
|
*
|
||||||
* Version: v2.2.5-dev
|
* Version: v2.2.5-dev
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
@charset "UTF-8";abbr,address,article,aside,audio,b,blockquote,body,body div,caption,cite,code,dd,del,details,dfn,dl,dt,em,fieldset,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font-weight:400;vertical-align:baseline;background:0 0}article,aside,details,figure,footer,header,main,nav,section,summary{display:block}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}embed,img,object{max-width:100%}html{overflow-y:scroll}ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:0 0}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help}table{border-collapse:separate;border-spacing:0}th{font-weight:700;vertical-align:bottom}td{font-weight:400;vertical-align:top}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}pre{white-space:pre;white-space:pre-wrap;white-space:pre-line;word-wrap:break-word}input[type=radio]{vertical-align:text-bottom}input[type=checkbox]{vertical-align:bottom}.ie7 input[type=checkbox]{vertical-align:baseline}.ie6 input{vertical-align:text-bottom}input,select,textarea{font:99% sans-serif}table{font-size:inherit;font:100%}small{font-size:85%}strong{font-weight:700}td,td img{vertical-align:top}sub,sup{font-size:75%;line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}code,kbd,pre,samp{font-family:monospace,sans-serif}.clickable,button,input[type=button],input[type=file],input[type=submit],label{cursor:pointer}button,input,select,textarea{margin:0}button,input[type=button]{width:auto;overflow:visible}.ie7 img{-ms-interpolation-mode:bicubic}.clearfix:after{content:" ";display:block;clear:both}@font-face{font-family:core-icons;src:url(/fonts/core-icons.ttf?e6rn1i) format("truetype"),url(/fonts/core-icons.woff?e6rn1i) format("woff"),url(/fonts/core-icons.svg?e6rn1i#core-icons) format("svg");font-weight:400;font-style:normal}[class*=" icon-"],[class^=icon-]{font-family:core-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-minus2:before{content:""}.icon-font:before{content:""}.icon-bold:before{content:""}.icon-italic:before{content:""}.icon-align-left2:before{content:""}.icon-align-center2:before{content:""}.icon-align-right2:before{content:""}.icon-align-justify2:before{content:""}.icon-list:before{content:""}.icon-video-camera2:before{content:""}.icon-image3:before{content:""}.icon-photo:before{content:""}.icon-picture-o:before{content:""}.icon-twitter-square:before{content:""}.icon-facebook-square:before{content:""}.icon-linkedin-square:before{content:""}.icon-github-square:before{content:""}.icon-twitter:before{content:""}.icon-facebook:before{content:""}.icon-facebook-f:before{content:""}.icon-github:before{content:""}.icon-chain:before{content:""}.icon-link3:before{content:""}.icon-bars:before{content:""}.icon-navicon:before{content:""}.icon-reorder:before{content:""}.icon-list-ul:before{content:""}.icon-list-ol:before{content:""}.icon-strikethrough:before{content:""}.icon-underline:before{content:""}.icon-table:before{content:""}.icon-linkedin:before{content:""}.icon-file-text-o:before{content:""}.icon-quote-left:before{content:""}.icon-terminal:before{content:""}.icon-code:before{content:""}.icon-youtube-play:before{content:""}.icon-dropbox:before{content:""}.icon-stack-overflow:before{content:""}.icon-bitbucket:before{content:""}.icon-apple:before{content:""}.icon-windows2:before{content:""}.icon-android:before{content:""}.icon-linux:before{content:""}.icon-vimeo-square:before{content:""}.icon-slack:before{content:""}.icon-google:before{content:""}.icon-git-square:before{content:""}.icon-git:before{content:""}.icon-header:before{content:""}.icon-safari:before{content:""}.icon-chrome:before{content:""}.icon-firefox:before{content:""}.icon-opera:before{content:""}.icon-internet-explorer:before{content:""}.icon-vimeo:before{content:""}.icon-edge:before{content:""}.icon-gitlab:before{content:""}.icon-th-small:before{content:""}.icon-th-menu:before{content:""}.icon-th-list:before{content:""}.icon-th-large:before{content:""}.icon-home:before{content:""}.icon-location:before{content:""}.icon-link:before{content:""}.icon-starburst:before{content:""}.icon-starburst-outline:before{content:""}.icon-star:before{content:""}.icon-flow-children:before{content:""}.icon-export:before{content:"Line truncated
|
||||||
|
* animate.css -http://daneden.me/animate
|
||||||
|
* Version - 3.5.1
|
||||||
|
* Licensed under the MIT license - http://opensource.org/licenses/MIT
|
||||||
|
*
|
||||||
|
* Copyright (c) 2016 Daniel Eden
|
||||||
|
*/.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{20%,53%,80%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{50%,from,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-Line truncated
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
$primary: 'indigo';
|
||||||
|
|
||||||
|
@import 'core-client/scss/core';
|
||||||
|
@import 'core-client/scss/components/button';
|
||||||
|
@import 'core-client/scss/components/footer';
|
||||||
|
@import 'core-client/scss/components/form';
|
||||||
|
@import 'core-client/scss/components/grid';
|
||||||
|
@import 'core-client/scss/components/modal';
|
||||||
|
@import 'core-client/scss/components/nav';
|
||||||
|
@import 'core-client/scss/components/panel';
|
||||||
|
@import 'core-client/scss/components/typography';
|
||||||
|
|
||||||
|
.welcome {
|
||||||
|
text-align: center;
|
||||||
|
padding: 25px 0 0;
|
||||||
|
color: mc('grey', '700');
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -78,6 +78,14 @@ auth:
|
|||||||
clientSecret: SLACK_CLIENT_SECRET
|
clientSecret: SLACK_CLIENT_SECRET
|
||||||
ldap:
|
ldap:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
url: ldap://serverhost:389
|
||||||
|
bindDn: cn='root'
|
||||||
|
bindCredentials: BIND_PASSWORD
|
||||||
|
searchBase: o=users,o=example.com
|
||||||
|
# searchFilter: {{username}} to use the provided username in search
|
||||||
|
searchFilter: (uid={{username}})
|
||||||
|
tlsEnabled: false
|
||||||
|
tlsCertPath: C:\example\root_ca_cert.crt
|
||||||
|
|
||||||
# ---------------------------------------------------------------------
|
# ---------------------------------------------------------------------
|
||||||
# Secret key to use when encrypting sessions
|
# Secret key to use when encrypting sessions
|
||||||
|
|||||||
+103
@@ -0,0 +1,103 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
module.exports = (port, spinner) => {
|
||||||
|
const ROOTPATH = __dirname
|
||||||
|
const IS_DEBUG = process.env.NODE_ENV === 'development'
|
||||||
|
|
||||||
|
// ----------------------------------------
|
||||||
|
// Load modules
|
||||||
|
// ----------------------------------------
|
||||||
|
|
||||||
|
const bodyParser = require('body-parser')
|
||||||
|
const compression = require('compression')
|
||||||
|
const express = require('express')
|
||||||
|
const favicon = require('serve-favicon')
|
||||||
|
const http = require('http')
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
// ----------------------------------------
|
||||||
|
// Define Express App
|
||||||
|
// ----------------------------------------
|
||||||
|
|
||||||
|
var app = express()
|
||||||
|
app.use(compression())
|
||||||
|
|
||||||
|
// ----------------------------------------
|
||||||
|
// Public Assets
|
||||||
|
// ----------------------------------------
|
||||||
|
|
||||||
|
app.use(favicon(path.join(ROOTPATH, 'assets', 'favicon.ico')))
|
||||||
|
app.use(express.static(path.join(ROOTPATH, 'assets')))
|
||||||
|
|
||||||
|
// ----------------------------------------
|
||||||
|
// View Engine Setup
|
||||||
|
// ----------------------------------------
|
||||||
|
|
||||||
|
app.set('views', path.join(ROOTPATH, 'views'))
|
||||||
|
app.set('view engine', 'pug')
|
||||||
|
|
||||||
|
app.use(bodyParser.json())
|
||||||
|
app.use(bodyParser.urlencoded({ extended: false }))
|
||||||
|
|
||||||
|
app.locals._ = require('lodash')
|
||||||
|
|
||||||
|
// ----------------------------------------
|
||||||
|
// Controllers
|
||||||
|
// ----------------------------------------
|
||||||
|
|
||||||
|
app.get('*', (req, res) => {
|
||||||
|
res.render('configure/index')
|
||||||
|
})
|
||||||
|
|
||||||
|
// ----------------------------------------
|
||||||
|
// Error handling
|
||||||
|
// ----------------------------------------
|
||||||
|
|
||||||
|
app.use(function (req, res, next) {
|
||||||
|
var err = new Error('Not Found')
|
||||||
|
err.status = 404
|
||||||
|
next(err)
|
||||||
|
})
|
||||||
|
|
||||||
|
app.use(function (err, req, res, next) {
|
||||||
|
res.status(err.status || 500)
|
||||||
|
res.send({
|
||||||
|
message: err.message,
|
||||||
|
error: IS_DEBUG ? err : {}
|
||||||
|
})
|
||||||
|
spinner.fail(err.message)
|
||||||
|
process.exit(1)
|
||||||
|
})
|
||||||
|
|
||||||
|
// ----------------------------------------
|
||||||
|
// Start HTTP server
|
||||||
|
// ----------------------------------------
|
||||||
|
|
||||||
|
spinner.text = 'Starting HTTP server...'
|
||||||
|
|
||||||
|
app.set('port', port)
|
||||||
|
var server = http.createServer(app)
|
||||||
|
server.listen(port)
|
||||||
|
server.on('error', (error) => {
|
||||||
|
if (error.syscall !== 'listen') {
|
||||||
|
throw error
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (error.code) {
|
||||||
|
case 'EACCES':
|
||||||
|
spinner.fail('Listening on port ' + port + ' requires elevated privileges!')
|
||||||
|
process.exit(1)
|
||||||
|
break
|
||||||
|
case 'EADDRINUSE':
|
||||||
|
spinner.fail('Port ' + port + ' is already in use!')
|
||||||
|
process.exit(1)
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
throw error
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
server.on('listening', () => {
|
||||||
|
spinner.text = 'Browse to http://localhost:' + port + ' to configure Wiki.js!'
|
||||||
|
})
|
||||||
|
}
|
||||||
+19
@@ -95,6 +95,14 @@ gulp.task('server', ['scripts', 'css', 'fonts'], function () {
|
|||||||
env: { 'NODE_ENV': 'development' }
|
env: { 'NODE_ENV': 'development' }
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
gulp.task('configure', ['scripts', 'css', 'fonts'], function () {
|
||||||
|
nodemon({
|
||||||
|
exec: 'node wiki configure',
|
||||||
|
ignore: ['assets/', 'client/', 'data/', 'repo/', 'tests/'],
|
||||||
|
ext: 'js json',
|
||||||
|
env: { 'NODE_ENV': 'development' }
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TASK - Process all scripts processes
|
* TASK - Process all scripts processes
|
||||||
@@ -182,6 +190,7 @@ gulp.task('watch', function () {
|
|||||||
* TASK - Starts development server with watchers
|
* TASK - Starts development server with watchers
|
||||||
*/
|
*/
|
||||||
gulp.task('default', ['watch', 'server'])
|
gulp.task('default', ['watch', 'server'])
|
||||||
|
gulp.task('default-configure', ['watch', 'configure'])
|
||||||
|
|
||||||
gulp.task('dev', function () {
|
gulp.task('dev', function () {
|
||||||
paths.css.includes.pop()
|
paths.css.includes.pop()
|
||||||
@@ -193,6 +202,16 @@ gulp.task('dev', function () {
|
|||||||
return run('default')
|
return run('default')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
gulp.task('dev-configure', function () {
|
||||||
|
paths.css.includes.pop()
|
||||||
|
paths.css.includes.push('../core')
|
||||||
|
|
||||||
|
paths.fonts.pop()
|
||||||
|
paths.fonts.push('../core/core-client/fonts/**/*')
|
||||||
|
|
||||||
|
return run('default-configure')
|
||||||
|
})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TASK - Creates deployment packages
|
* TASK - Creates deployment packages
|
||||||
*/
|
*/
|
||||||
|
|||||||
+2
-2
@@ -37,8 +37,8 @@ var mkdown = md({
|
|||||||
.use(mdAnchor, {
|
.use(mdAnchor, {
|
||||||
slugify: _.kebabCase,
|
slugify: _.kebabCase,
|
||||||
permalink: true,
|
permalink: true,
|
||||||
permalinkClass: 'toc-anchor',
|
permalinkClass: 'toc-anchor icon-anchor',
|
||||||
permalinkSymbol: '#',
|
permalinkSymbol: '',
|
||||||
permalinkBefore: true
|
permalinkBefore: true
|
||||||
})
|
})
|
||||||
.use(mdFootnote)
|
.use(mdFootnote)
|
||||||
|
|||||||
@@ -50,6 +50,8 @@ userSchema.statics.processProfile = (profile) => {
|
|||||||
primaryEmail = (e) ? e.value : _.first(profile.emails).value
|
primaryEmail = (e) ? e.value : _.first(profile.emails).value
|
||||||
} else if (_.isString(profile.email) && profile.email.length > 5) {
|
} else if (_.isString(profile.email) && profile.email.length > 5) {
|
||||||
primaryEmail = profile.email
|
primaryEmail = profile.email
|
||||||
|
} else if (_.isString(profile.mail) && profile.mail.length > 5) {
|
||||||
|
primaryEmail = profile.mail
|
||||||
} else if (profile.user && profile.user.email && profile.user.email.length > 5) {
|
} else if (profile.user && profile.user.email && profile.user.email.length > 5) {
|
||||||
primaryEmail = profile.user.email
|
primaryEmail = profile.user.email
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -9,11 +9,7 @@
|
|||||||
global.PROCNAME = 'SERVER'
|
global.PROCNAME = 'SERVER'
|
||||||
global.ROOTPATH = __dirname
|
global.ROOTPATH = __dirname
|
||||||
global.IS_DEBUG = process.env.NODE_ENV === 'development'
|
global.IS_DEBUG = process.env.NODE_ENV === 'development'
|
||||||
if (IS_DEBUG) {
|
global.CORE_PATH = (IS_DEBUG) ? ROOTPATH + '/../core/' : ROOTPATH + '/node_modules/requarks-core/'
|
||||||
global.CORE_PATH = ROOTPATH + '/../core/'
|
|
||||||
} else {
|
|
||||||
global.CORE_PATH = ROOTPATH + '/node_modules/requarks-core/'
|
|
||||||
}
|
|
||||||
|
|
||||||
process.env.VIPS_WARNING = false
|
process.env.VIPS_WARNING = false
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
doctype html
|
||||||
|
html
|
||||||
|
head
|
||||||
|
meta(http-equiv='X-UA-Compatible', content='IE=edge')
|
||||||
|
meta(charset='UTF-8')
|
||||||
|
title Wiki.js | Configure
|
||||||
|
|
||||||
|
// Favicon
|
||||||
|
each favsize in [32, 96, 16]
|
||||||
|
link(rel='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png')
|
||||||
|
|
||||||
|
// CSS
|
||||||
|
link(type='text/css', rel='stylesheet', href='/css/libs.css')
|
||||||
|
link(type='text/css', rel='stylesheet', href='/css/configure.css')
|
||||||
|
|
||||||
|
// JS
|
||||||
|
script(type='text/javascript', src='/js/libs.js')
|
||||||
|
//script(type='text/javascript', src='/js/app.js')
|
||||||
|
|
||||||
|
block head
|
||||||
|
|
||||||
|
body
|
||||||
|
#root
|
||||||
|
#header-container
|
||||||
|
nav.nav#header
|
||||||
|
.nav-left
|
||||||
|
a.nav-item(href='/')
|
||||||
|
h1
|
||||||
|
i.icon-layers
|
||||||
|
| Wiki.js
|
||||||
|
main
|
||||||
|
.container
|
||||||
|
.welcome(style={'padding-bottom': '5px'})
|
||||||
|
img(src='/favicons/android-icon-96x96.png', alt='Wiki.js')
|
||||||
|
h1 Welcome to Wiki.js!
|
||||||
|
h2(style={'margin-bottom': 0}) Fill in the fields below to get up and running.
|
||||||
|
.content
|
||||||
|
.panel
|
||||||
|
h2.panel-title
|
||||||
|
span General
|
||||||
|
i(v-if='loading')
|
||||||
|
.panel-content.form-sections
|
||||||
|
section
|
||||||
|
p.control.is-fullwidth
|
||||||
|
label.label Site Title
|
||||||
|
input(type='text', placeholder='e.g. Wiki', v-model='title')
|
||||||
|
section
|
||||||
|
p.control.is-fullwidth
|
||||||
|
label.label Host
|
||||||
|
input(type='text', placeholder='http://', v-model='host')
|
||||||
|
.panel-footer
|
||||||
|
button.button.is-indigo(v-on:click='add', v-bind:disabled='loading') Continue
|
||||||
|
footer.footer
|
||||||
|
span
|
||||||
|
| Powered by
|
||||||
|
a(href='https://github.com/Requarks/wiki') Wiki.js
|
||||||
|
| .
|
||||||
|
block outside
|
||||||
@@ -30,7 +30,7 @@ block adminContent
|
|||||||
i.icon-check
|
i.icon-check
|
||||||
span Save Changes
|
span Save Changes
|
||||||
.column
|
.column
|
||||||
.panel
|
.panel-aside
|
||||||
label.label Provider
|
label.label Provider
|
||||||
p.control.account-profile-provider
|
p.control.account-profile-provider
|
||||||
case user.provider
|
case user.provider
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ block content
|
|||||||
i.icon-th-list
|
i.icon-th-list
|
||||||
span Page Contents
|
span Page Contents
|
||||||
ul.sidebar-menu
|
ul.sidebar-menu
|
||||||
li: a(href='#root', title='Top of Page') Top
|
li: a(href='#root', title='Top of Page') Top of Page
|
||||||
+tocMenu(pageData.tree)
|
+tocMenu(pageData.tree)
|
||||||
|
|
||||||
.column
|
.column
|
||||||
|
|||||||
@@ -1,6 +1,12 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
|
// ===========================================
|
||||||
|
// Wiki.js
|
||||||
|
// 1.0.0
|
||||||
|
// Licensed under AGPLv3
|
||||||
|
// ===========================================
|
||||||
|
|
||||||
const Promise = require('bluebird')
|
const Promise = require('bluebird')
|
||||||
const fs = Promise.promisifyAll(require('fs-extra'))
|
const fs = Promise.promisifyAll(require('fs-extra'))
|
||||||
const ora = require('ora')
|
const ora = require('ora')
|
||||||
@@ -54,6 +60,14 @@ cmdr.command('stop')
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
cmdr.command('configure [port]')
|
||||||
|
.description('Configure Wiki.js')
|
||||||
|
.action((port) => {
|
||||||
|
port = port || 3000
|
||||||
|
let spinner = ora('Initializing interactive setup...').start()
|
||||||
|
require('./configure')(port, spinner)
|
||||||
|
})
|
||||||
|
|
||||||
cmdr.parse(process.argv)
|
cmdr.parse(process.argv)
|
||||||
|
|
||||||
if (!process.argv.slice(2).length) {
|
if (!process.argv.slice(2).length) {
|
||||||
|
|||||||
Reference in new issue
Block a user