feat: config wizard UI improvements

This commit is contained in:
NGPixel 2017-11-05 01:36:07 -04:00
parent 98d311145b
commit 1658fcbf2e
10 changed files with 180 additions and 194 deletions

1
assets/svg/logo-git.svg Normal file
View File

@ -0,0 +1 @@
<svg width="2500" height="1055" viewBox="0 0 256 108" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet"><path d="M152.984 37.214c-5.597 0-9.765 2.748-9.765 9.362 0 4.983 2.747 8.443 9.463 8.443 5.693 0 9.56-3.355 9.56-8.65 0-6-3.46-9.155-9.258-9.155zm-11.19 46.701c-1.325 1.625-2.645 3.353-2.645 5.39 0 4.067 5.186 5.291 12.31 5.291 5.9 0 13.938-.414 13.938-5.9 0-3.261-3.867-3.462-8.753-3.768l-14.85-1.013zm30.113-46.394c1.828 2.34 3.764 5.597 3.764 10.276 0 11.292-8.851 17.904-21.667 17.904-3.259 0-6.209-.406-8.038-.914l-3.359 5.39 9.969.61c17.602 1.122 27.975 1.632 27.975 15.157 0 11.702-10.272 18.311-27.975 18.311-18.413 0-25.433-4.68-25.433-12.716 0-4.578 2.035-7.015 5.596-10.378-3.358-1.419-4.476-3.961-4.476-6.71 0-2.24 1.118-4.273 2.952-6.208 1.83-1.93 3.864-3.865 6.306-6.103-4.984-2.442-8.75-7.732-8.75-15.262 0-11.697 7.733-19.731 23.295-19.731 4.376 0 7.022.402 9.362 1.017h19.84v8.644l-9.361.713zM199.166 19.034c-5.8 0-9.157-3.36-9.157-9.161 0-5.793 3.356-8.95 9.157-8.95 5.9 0 9.258 3.157 9.258 8.95 0 5.801-3.357 9.161-9.258 9.161zM186.04 80.171v-8.033l5.19-.71c1.425-.205 1.627-.509 1.627-2.038V39.48c0-1.116-.304-1.832-1.325-2.134l-5.492-1.935 1.118-8.238h21.061V69.39c0 1.63.098 1.833 1.629 2.039l5.188.71v8.032H186.04zM255.267 76.227c-4.376 2.135-10.785 4.068-16.586 4.068-12.106 0-16.682-4.878-16.682-16.38V37.264c0-.61 0-1.017-.817-1.017h-7.12V27.19c8.955-1.02 12.513-5.496 13.632-16.585h9.666v14.45c0 .71 0 1.017.815 1.017h14.343v10.173H237.36v24.313c0 6.002 1.426 8.34 6.917 8.34 2.852 0 5.799-.71 8.24-1.626l2.75 8.954" fill="#2F2707"/><path d="M104.529 49.53L58.013 3.017a6.86 6.86 0 0 0-9.703 0l-9.659 9.66 12.253 12.252a8.145 8.145 0 0 1 8.383 1.953 8.157 8.157 0 0 1 1.936 8.434L73.03 47.125c2.857-.984 6.154-.347 8.435 1.938a8.161 8.161 0 0 1 0 11.545 8.164 8.164 0 0 1-13.324-8.88L57.129 40.716l-.001 28.98a8.248 8.248 0 0 1 2.159 1.544 8.164 8.164 0 0 1 0 11.547c-3.19 3.19-8.36 3.19-11.545 0a8.164 8.164 0 0 1 2.672-13.328v-29.25a8.064 8.064 0 0 1-2.672-1.782c-2.416-2.413-2.997-5.958-1.759-8.925l-12.078-12.08L2.011 49.314a6.863 6.863 0 0 0 0 9.706l46.516 46.514a6.862 6.862 0 0 0 9.703 0l46.299-46.297a6.866 6.866 0 0 0 0-9.707" fill="#DE4C36"/></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

107
assets/svg/logo-wikijs.svg Normal file
View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 282 82" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
<path d="M85.83,1.976c-1.317,1.317 -1.975,2.934 -1.975,4.854c-0.001,1.922 0.658,3.554 1.975,4.897c1.316,1.346 2.935,2.016 4.855,2.016c1.92,0 3.552,-0.67 4.896,-2.016c1.344,-1.343 2.016,-2.975 2.016,-4.897c0,-1.92 -0.672,-3.537 -2.016,-4.854c-1.344,-1.317 -2.976,-1.976 -4.896,-1.976c-1.92,0 -3.539,0.659 -4.855,1.976Zm0.371,16.005c-1.235,1.234 -1.852,2.73 -1.852,4.485l0,33.328c0,0.879 0.164,1.716 0.493,2.51c0.329,0.797 0.782,1.482 1.359,2.058c0.575,0.576 1.247,1.029 2.015,1.359c0.768,0.328 1.591,0.492 2.47,0.492c1.754,0 3.263,-0.63 4.526,-1.892c1.26,-1.261 1.892,-2.77 1.892,-4.527l0,-33.328c0,-0.876 -0.164,-1.7 -0.493,-2.469c-0.33,-0.768 -0.783,-1.44 -1.358,-2.016c-0.576,-0.576 -1.263,-1.029 -2.058,-1.357c-0.796,-0.329 -1.633,-0.494 -2.509,-0.494c-1.757,0 -3.251,0.617 -4.485,1.851Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/>
<path d="M150.511,1.976c-1.318,1.317 -1.975,2.934 -1.975,4.854c0,1.922 0.657,3.554 1.975,4.897c1.317,1.346 2.935,2.016 4.855,2.016c1.92,0 3.552,-0.67 4.897,-2.016c1.343,-1.343 2.016,-2.975 2.016,-4.897c0,-1.92 -0.673,-3.537 -2.016,-4.854c-1.345,-1.317 -2.977,-1.976 -4.897,-1.976c-1.92,0 -3.538,0.659 -4.855,1.976Zm0.37,16.005c-1.234,1.234 -1.852,2.73 -1.852,4.485l0,33.328c0,0.879 0.164,1.716 0.495,2.51c0.329,0.797 0.781,1.482 1.357,2.058c0.575,0.576 1.247,1.029 2.017,1.359c0.767,0.328 1.59,0.492 2.468,0.492c1.755,0 3.263,-0.63 4.527,-1.892c1.26,-1.261 1.892,-2.77 1.892,-4.527l0,-33.328c0,-0.876 -0.164,-1.7 -0.494,-2.469c-0.33,-0.768 -0.782,-1.44 -1.357,-2.016c-0.576,-0.576 -1.263,-1.029 -2.057,-1.357c-0.796,-0.329 -1.633,-0.494 -2.511,-0.494c-1.756,0 -3.25,0.617 -4.485,1.851Z" style="fill:url(#_Linear2);fill-rule:nonzero;"/>
<path d="M171.494,46.784c-0.988,0.411 -1.838,0.987 -2.551,1.728c-0.714,0.741 -1.276,1.592 -1.687,2.55c-0.411,0.961 -0.618,1.99 -0.618,3.087c0,2.25 0.768,4.155 2.305,5.72c1.535,1.563 3.429,2.344 5.677,2.344c2.249,0 4.157,-0.781 5.721,-2.344c1.562,-1.565 2.345,-3.47 2.345,-5.72c0,-1.097 -0.206,-2.126 -0.617,-3.087c-0.412,-0.958 -0.988,-1.809 -1.728,-2.55c-0.74,-0.741 -1.605,-1.317 -2.593,-1.728c-0.987,-0.411 -2.03,-0.618 -3.128,-0.618c-1.097,0 -2.139,0.207 -3.126,0.618Z" style="fill:url(#_Linear3);fill-rule:nonzero;"/>
<path d="M188.94,1.976c-1.317,1.317 -1.976,2.934 -1.976,4.854c0,1.922 0.659,3.554 1.976,4.897c1.316,1.346 2.933,2.016 4.855,2.016c1.919,0 3.551,-0.67 4.897,-2.016c1.343,-1.343 2.015,-2.975 2.015,-4.897c0,-1.92 -0.672,-3.537 -2.015,-4.854c-1.346,-1.317 -2.978,-1.976 -4.897,-1.976c-1.922,0 -3.539,0.659 -4.855,1.976Zm0.37,16.005c-1.235,1.234 -1.852,2.73 -1.852,4.485l0,39.747c0,1.536 -0.22,2.73 -0.659,3.58c-0.44,0.851 -0.974,1.564 -1.603,2.14c-0.632,0.577 -1.317,1.042 -2.058,1.399c-0.741,0.356 -1.426,0.795 -2.058,1.317c-0.63,0.521 -1.165,1.179 -1.605,1.975c-0.437,0.794 -0.658,1.879 -0.658,3.251c0,1.755 0.645,3.085 1.934,3.99c1.29,0.906 2.84,1.359 4.65,1.359c2.029,0 3.95,-0.399 5.76,-1.194c1.81,-0.795 3.387,-1.975 4.733,-3.538c1.343,-1.564 2.398,-3.539 3.167,-5.926c0.769,-2.386 1.152,-5.171 1.152,-8.353l0,-39.747c0,-0.876 -0.164,-1.7 -0.494,-2.469c-0.328,-0.768 -0.78,-1.44 -1.357,-2.016c-0.576,-0.576 -1.264,-1.029 -2.058,-1.357c-0.795,-0.329 -1.633,-0.494 -2.509,-0.494c-1.758,0 -3.252,0.617 -4.485,1.851Z" style="fill:url(#_Linear4);fill-rule:nonzero;"/>
<clipPath id="_clip5">
<path d="M3.991,1.192c-0.905,0.468 -1.645,1.058 -2.222,1.771c-0.577,0.714 -1.016,1.495 -1.317,2.346c-0.302,0.85 -0.452,1.659 -0.452,2.427c0,0.823 0.109,1.564 0.329,2.221l14.629,46.475c2.349,-6.486 4.885,-13.534 7.493,-20.85l-8.461,-30.069c-0.44,-1.534 -1.29,-2.756 -2.552,-3.661c-1.262,-0.905 -2.688,-1.358 -4.279,-1.358c-1.207,0 -2.263,0.234 -3.168,0.698Z"/>
</clipPath>
<g clip-path="url(#_clip5)">
<path d="M10.488,-2.093l24.438,48.454l-19.968,10.07l-24.438,-48.453l19.968,-10.071Z" style="fill:url(#_Linear6);fill-rule:nonzero;"/>
</g>
<clipPath id="_clip7">
<path d="M35.839,1.769c-1.18,0.851 -2.072,2.072 -2.676,3.663l-10.698,30.201l-0.014,-0.051c-2.608,7.316 -5.144,14.364 -7.493,20.85l0.266,0.845c0.494,1.536 1.317,2.743 2.468,3.62c1.153,0.878 2.523,1.316 4.116,1.316c1.591,0 2.962,-0.423 4.114,-1.275c1.152,-0.849 2.002,-2.043 2.551,-3.579l11.604,-32.671l11.456,32.257c1.978,-6.628 4.096,-13.997 6.094,-21.482l-10.637,-30.031c-0.55,-1.591 -1.428,-2.812 -2.634,-3.663c-1.208,-0.849 -2.634,-1.275 -4.279,-1.275c-1.646,0 -3.059,0.426 -4.238,1.275Z"/>
</clipPath>
<g clip-path="url(#_clip7)">
<path d="M2.293,10.447l45.028,-12.402l15.376,55.825l-45.029,12.402l-15.375,-55.825Z" style="fill:url(#_Linear8);fill-rule:nonzero;"/>
</g>
<clipPath id="_clip9">
<path d="M68.714,1.852c-1.263,0.905 -2.112,2.127 -2.551,3.661l-8.476,30.12l-0.06,-0.17c-1.998,7.485 -4.116,14.854 -6.094,21.482l0.146,0.414c0.549,1.536 1.4,2.73 2.552,3.579c1.151,0.852 2.522,1.275 4.115,1.275c1.591,0 2.962,-0.438 4.115,-1.316c1.151,-0.877 1.974,-2.084 2.468,-3.62l14.896,-47.32c0.218,-0.657 0.328,-1.398 0.328,-2.221c0,-0.768 -0.152,-1.577 -0.452,-2.427c-0.303,-0.851 -0.741,-1.632 -1.317,-2.346c-0.575,-0.713 -1.316,-1.303 -2.222,-1.771c-0.905,-0.464 -1.962,-0.698 -3.168,-0.698c-1.592,0 -3.017,0.453 -4.28,1.358Z"/>
</clipPath>
<g clip-path="url(#_clip9)">
<path d="M48.492,59.544l19.898,-61.054l14.197,4.626l-19.898,61.055l-14.197,-4.627Z" style="fill:url(#_Linear10);fill-rule:nonzero;"/>
</g>
<clipPath id="_clip11">
<path d="M133.889,17.611l-17.12,13.743l0,11.855l15.556,16.7c0.712,0.77 1.549,1.345 2.51,1.729c0.959,0.384 1.906,0.575 2.839,0.575c0.603,0 1.261,-0.108 1.975,-0.328c0.713,-0.218 1.37,-0.576 1.976,-1.07c0.602,-0.494 1.11,-1.153 1.522,-1.975c0.411,-0.823 0.617,-1.811 0.617,-2.963c0,-0.823 -0.152,-1.646 -0.453,-2.469c-0.301,-0.822 -0.781,-1.535 -1.439,-2.139l-14.32,-13.826l14.484,-10.286c0.768,-0.548 1.317,-1.234 1.645,-2.057c0.329,-0.823 0.494,-1.673 0.494,-2.551c0,-1.153 -0.22,-2.14 -0.658,-2.963c-0.44,-0.823 -0.975,-1.494 -1.606,-2.016c-0.63,-0.521 -1.303,-0.891 -2.014,-1.111c-0.714,-0.219 -1.373,-0.329 -1.976,-0.329c-1.482,0 -2.827,0.494 -4.032,1.481Z"/>
</clipPath>
<g clip-path="url(#_clip11)">
<path d="M143.974,62.251l-27.364,-0.142l0.238,-46.092l27.364,0.142l-0.238,46.092Z" style="fill:url(#_Linear12);fill-rule:nonzero;"/>
</g>
<g>
<g opacity="0.100006">
<clipPath id="_clip13">
<rect x="13.204" y="35.633" width="9.261" height="20.798"/>
</clipPath>
<g clip-path="url(#_clip13)">
<path d="M22.466,35.633l-7.508,20.798l-1.753,-5.569l9.261,-15.229Z" style="fill-rule:nonzero;"/>
</g>
</g>
</g>
<g>
<g opacity="0.100006">
<clipPath id="_clip14">
<rect x="49.558" y="35.633" width="8.129" height="21.311"/>
</clipPath>
<g clip-path="url(#_clip14)">
<path d="M57.687,35.633l-6.154,21.312l-1.974,-5.559l8.128,-15.753Z" style="fill-rule:nonzero;"/>
</g>
</g>
</g>
<g>
<g opacity="0.100006">
<clipPath id="_clip15">
<rect x="116.769" y="31.272" width="4.02" height="16.242"/>
</clipPath>
<g clip-path="url(#_clip15)">
<path d="M116.854,31.272l3.936,16.242l-4.021,-4.305l0.085,-11.937Z" style="fill-rule:nonzero;"/>
</g>
</g>
</g>
<clipPath id="_clip16">
<path d="M105.949,2.345c-1.233,1.235 -1.851,2.73 -1.851,4.485l0,48.964c0,0.879 0.165,1.716 0.495,2.51c0.329,0.797 0.781,1.482 1.356,2.058c0.576,0.576 1.248,1.029 2.017,1.359c0.767,0.328 1.591,0.492 2.468,0.492c1.756,0 3.265,-0.63 4.527,-1.892c1.262,-1.261 1.893,-2.77 1.893,-4.527l0,-12.508l0,-12.015l0,-24.441c0,-0.876 -0.165,-1.7 -0.494,-2.469c-0.329,-0.767 -0.781,-1.44 -1.357,-2.016c-0.576,-0.576 -1.262,-1.029 -2.058,-1.357c-0.797,-0.329 -1.634,-0.494 -2.511,-0.494c-1.755,0 -3.25,0.618 -4.485,1.851Z"/>
</clipPath>
<g clip-path="url(#_clip16)">
<path d="M96.722,60.505l8.101,-60.875l19.396,2.581l-8.102,60.875l-19.395,-2.581Z" style="fill:url(#_Linear17);fill-rule:nonzero;"/>
</g>
<clipPath id="_clip18">
<path d="M207.661,45.549c-1.126,1.07 -1.688,2.703 -1.688,4.897c0,1.811 0.645,3.457 1.934,4.937c1.288,1.482 2.893,2.771 4.815,3.868c1.919,1.099 3.976,1.948 6.171,2.551c2.194,0.603 4.198,0.906 6.007,0.906c2.523,0 4.896,-0.33 7.12,-0.987c2.221,-0.66 4.181,-1.632 5.883,-2.923c0.636,-0.482 1.206,-1.025 1.741,-1.6c-0.842,-4.69 -4.288,-9.214 -12.489,-12.483c0.54,0.239 1.043,0.488 1.49,0.752c1.07,0.632 1.605,1.469 1.605,2.51c0,1.099 -0.523,1.879 -1.563,2.345c-1.043,0.467 -2.113,0.7 -3.21,0.7c-1.263,0 -2.429,-0.371 -3.497,-1.112c-1.071,-0.74 -2.113,-1.548 -3.128,-2.427c-1.015,-0.876 -2.072,-1.686 -3.168,-2.428c-1.098,-0.74 -2.251,-1.11 -3.456,-1.11c-1.921,0 -3.444,0.535 -4.567,1.604Z"/>
</clipPath>
<g clip-path="url(#_clip18)">
<path d="M241.491,56.676l-23.361,15.071l-15.168,-23.511l23.361,-15.072l15.168,23.512Z" style="fill:url(#_Linear19);fill-rule:nonzero;"/>
</g>
<g>
<g opacity="0.100006">
<clipPath id="_clip20">
<rect x="227.156" y="44.711" width="12.489" height="13.886"/>
</clipPath>
<g clip-path="url(#_clip20)">
<path d="M239.645,57.194c-0.843,-4.69 -4.289,-9.213 -12.489,-12.483c0.538,0.24 1.042,0.489 1.489,0.753c0.251,0.147 0.467,0.309 0.659,0.48c0,0 -0.001,-0.001 -0.002,-0.001c0.001,0 0.002,0.001 0.003,0.001c0.025,0.023 0.049,0.045 0.073,0.068c5.003,4.422 7.687,8.647 8.759,12.586c0.54,-0.434 1.041,-0.903 1.508,-1.404" style="fill-rule:nonzero;"/>
</g>
</g>
</g>
<clipPath id="_clip21">
<path d="M217.165,16.706c-1.921,0.714 -3.526,1.7 -4.814,2.962c-1.29,1.263 -2.235,2.744 -2.839,4.444c-0.605,1.701 -0.906,3.568 -0.906,5.596c0,2.58 0.535,4.664 1.606,6.255c1.07,1.592 2.4,2.894 3.99,3.908c1.591,1.016 3.333,1.798 5.226,2.346c1.893,0.549 3.635,1.069 5.225,1.563c0.927,0.288 1.753,0.601 2.502,0.935c8.201,3.269 11.647,7.793 12.489,12.483c0.898,-0.961 1.673,-2.035 2.292,-3.255c0.987,-1.947 1.48,-4.238 1.48,-6.871c0,-2.742 -0.534,-4.951 -1.605,-6.625c-1.068,-1.673 -2.399,-3.004 -3.99,-3.992c-1.592,-0.987 -3.32,-1.74 -5.185,-2.262c-1.865,-0.521 -3.594,-1.014 -5.184,-1.482c-1.593,-0.465 -2.922,-1.014 -3.991,-1.645c-1.07,-0.63 -1.605,-1.577 -1.605,-2.839c0,-0.603 0.205,-1.07 0.617,-1.399c0.411,-0.33 0.918,-0.494 1.523,-0.494c1.041,0 1.933,0.206 2.674,0.617c0.741,0.412 1.493,0.851 2.263,1.317c0.767,0.467 1.604,0.905 2.51,1.316c0.905,0.412 2.017,0.618 3.333,0.618c1.535,0 2.839,-0.548 3.909,-1.646c1.034,-1.06 1.557,-2.305 1.591,-3.724l-6.638,0c-1.412,0 -2.567,-1.155 -2.567,-2.567l0,-5.811c-0.152,-0.039 -0.295,-0.082 -0.451,-0.119c-2.003,-0.466 -4.211,-0.699 -6.624,-0.699c-2.634,0 -4.911,0.357 -6.831,1.07Z"/>
</clipPath>
<g clip-path="url(#_clip21)">
<path d="M250.155,20.875l-8.547,36.779l-38.046,-8.841l8.548,-36.78l38.045,8.842Z" style="fill:url(#_Linear22);fill-rule:nonzero;"/>
</g>
<path d="M245.311,17.359c0,1.239 1.015,2.254 2.255,2.254l6.792,0c1.24,0 2.255,-1.015 2.255,-2.254l0,-6.792c0,-1.241 -1.015,-2.255 -2.255,-2.255l-6.792,0c-1.24,0 -2.255,1.014 -2.255,2.255l0,6.792Z" style="fill:#3f51b5;fill-rule:nonzero;"/>
<path d="M263.904,19.728c0,1.24 1.015,2.255 2.255,2.255l3.511,0c1.24,0 2.255,-1.015 2.255,-2.255l0,-3.511c0,-1.24 -1.015,-2.255 -2.255,-2.255l-3.511,0c-1.24,0 -2.255,1.015 -2.255,2.255l0,3.511Z" style="fill:#3f51b5;fill-rule:nonzero;"/>
<path d="M256.613,37.774c0,1.24 1.015,2.255 2.254,2.255l4.97,0c1.24,0 2.254,-1.015 2.254,-2.255l0,-4.969c0,-1.24 -1.014,-2.255 -2.254,-2.255l-4.97,0c-1.239,0 -2.254,1.015 -2.254,2.255l0,4.969Z" style="fill:#3f51b5;fill-rule:nonzero;"/>
<path d="M276.299,28.478c0,1.24 1.015,2.254 2.255,2.254l0.959,0c1.241,0 2.255,-1.014 2.255,-2.254l0,-0.959c0,-1.24 -1.014,-2.255 -2.255,-2.255l-0.959,0c-1.24,0 -2.255,1.015 -2.255,2.255l0,0.959Z" style="fill:#3f51b5;fill-rule:nonzero;"/>
<defs>
<linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,62.2136,-62.2136,0,90.7262,5.565e-05)"><stop offset="0" style="stop-color:#3f51b5;stop-opacity:1"/><stop offset="1" style="stop-color:#313a78;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear2" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,62.2136,-62.2136,0,155.407,5.565e-05)"><stop offset="0" style="stop-color:#3f51b5;stop-opacity:1"/><stop offset="1" style="stop-color:#313a78;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear3" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-61.8634,61.8634,0,174.662,60.3315)"><stop offset="0" style="stop-color:#2196f3;stop-opacity:1"/><stop offset="1" style="stop-color:#00c0f3;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear4" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-61.8634,61.8634,0,189.762,60.3315)"><stop offset="0" style="stop-color:#2196f3;stop-opacity:1"/><stop offset="1" style="stop-color:#00c0f3;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear6" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(18.6063,36.8918,-36.8918,18.6063,0.331477,2.78559)"><stop offset="0" style="stop-color:#3f51b5;stop-opacity:1"/><stop offset="1" style="stop-color:#313a78;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear8" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(25.2361,-6.95063,6.95063,25.2361,15.8848,36.8025)"><stop offset="0" style="stop-color:#3f51b5;stop-opacity:1"/><stop offset="1" style="stop-color:#313a78;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear10" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(12.5111,-38.3889,38.3889,12.5111,61.3712,44.1966)"><stop offset="0" style="stop-color:#3f51b5;stop-opacity:1"/><stop offset="1" style="stop-color:#313a78;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear12" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-20.7541,-0.107534,0.107534,-20.7541,138.569,39.1756)"><stop offset="0" style="stop-color:#3f51b5;stop-opacity:1"/><stop offset="1" style="stop-color:#313a78;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear17" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(7.69916,-57.8506,57.8506,7.69916,106.898,58.1964)"><stop offset="0" style="stop-color:#3f51b5;stop-opacity:1"/><stop offset="1" style="stop-color:#313a78;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear19" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-13.2597,8.55462,-8.55462,-13.2597,234.138,44.8197)"><stop offset="0" style="stop-color:#2196f3;stop-opacity:1"/><stop offset="1" style="stop-color:#00c0f3;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear22" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-7.05756,30.3689,-30.3689,-7.05756,231.634,14.1955)"><stop offset="0" style="stop-color:#2196f3;stop-opacity:1"/><stop offset="1" style="stop-color:#00c0f3;stop-opacity:1"/></linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -13,8 +13,7 @@ import { ApolloClient } from 'apollo-client'
import { HttpLink } from 'apollo-link-http'
import { InMemoryCache } from 'apollo-cache-inmemory'
import store from './store'
import icons from '../svg/nc-icons.svg'
import icons from '../svg/icons.svg'
// ====================================
// Load Modules
// ====================================

View File

@ -1,153 +0,0 @@
'use strict'
/* global $, siteConfig */
/* eslint-disable no-new */
import Vue from 'vue'
import VueResource from 'vue-resource'
import VueClipboards from 'vue-clipboards'
import VueLodash from 'vue-lodash'
import store from './store'
import i18next from 'i18next'
import i18nextXHR from 'i18next-xhr-backend'
import VueI18Next from '@panter/vue-i18next'
import 'jquery-contextmenu'
import 'jquery-simple-upload'
import 'jquery-smooth-scroll'
import 'jquery-sticky'
// ====================================
// Load Helpers
// ====================================
import helpers from './helpers'
import _ from './helpers/lodash'
// ====================================
// Load Vue Components
// ====================================
import alertComponent from './components/alert.vue'
import anchorComponent from './components/anchor.vue'
import colorPickerComponent from './components/color-picker.vue'
import editorCodeblockComponent from './components/editor-codeblock.vue'
import editorFileComponent from './components/editor-file.vue'
import editorVideoComponent from './components/editor-video.vue'
import historyComponent from './components/history.vue'
import loadingSpinnerComponent from './components/loading-spinner.vue'
import modalCreatePageComponent from './components/modal-create-page.vue'
import modalCreateUserComponent from './components/modal-create-user.vue'
import modalDeleteUserComponent from './components/modal-delete-user.vue'
import modalDiscardPageComponent from './components/modal-discard-page.vue'
import modalMovePageComponent from './components/modal-move-page.vue'
import modalProfile2faComponent from './components/modal-profile-2fa.vue'
import modalUpgradeSystemComponent from './components/modal-upgrade-system.vue'
import pageLoaderComponent from './components/page-loader.vue'
import searchComponent from './components/search.vue'
import toggleComponent from './components/toggle.vue'
import treeComponent from './components/tree.vue'
import adminEditUserComponent from './pages/admin-edit-user.component.js'
import adminProfileComponent from './pages/admin-profile.component.js'
import adminSettingsComponent from './pages/admin-settings.component.js'
import adminThemeComponent from './pages/admin-theme.component.js'
import contentViewComponent from './pages/content-view.component.js'
import editorComponent from './components/editor.component.js'
import sourceViewComponent from './pages/source-view.component.js'
// ====================================
// Initialize Vue Modules
// ====================================
Vue.use(VueResource)
Vue.use(VueClipboards)
Vue.use(VueI18Next)
Vue.use(VueLodash, _)
Vue.use(helpers)
// ====================================
// Register Vue Components
// ====================================
Vue.component('alert', alertComponent)
Vue.component('adminEditUser', adminEditUserComponent)
Vue.component('adminProfile', adminProfileComponent)
Vue.component('adminSettings', adminSettingsComponent)
Vue.component('adminTheme', adminThemeComponent)
Vue.component('anchor', anchorComponent)
Vue.component('colorPicker', colorPickerComponent)
Vue.component('contentView', contentViewComponent)
Vue.component('editor', editorComponent)
Vue.component('editorCodeblock', editorCodeblockComponent)
Vue.component('editorFile', editorFileComponent)
Vue.component('editorVideo', editorVideoComponent)
Vue.component('history', historyComponent)
Vue.component('loadingSpinner', loadingSpinnerComponent)
Vue.component('modalCreatePage', modalCreatePageComponent)
Vue.component('modalCreateUser', modalCreateUserComponent)
Vue.component('modalDeleteUser', modalDeleteUserComponent)
Vue.component('modalDiscardPage', modalDiscardPageComponent)
Vue.component('modalMovePage', modalMovePageComponent)
Vue.component('modalProfile2fa', modalProfile2faComponent)
Vue.component('modalUpgradeSystem', modalUpgradeSystemComponent)
Vue.component('pageLoader', pageLoaderComponent)
Vue.component('search', searchComponent)
Vue.component('sourceView', sourceViewComponent)
Vue.component('toggle', toggleComponent)
Vue.component('tree', treeComponent)
// ====================================
// Load Localization strings
// ====================================
i18next
.use(i18nextXHR)
.init({
backend: {
loadPath: siteConfig.path + '/js/i18n/{{lng}}.json'
},
lng: siteConfig.lang,
fallbackLng: siteConfig.lang
})
$(() => {
// ====================================
// Notifications
// ====================================
$(window).bind('beforeunload', () => {
store.dispatch('startLoading')
})
$(document).ajaxSend(() => {
store.dispatch('startLoading')
}).ajaxComplete(() => {
store.dispatch('stopLoading')
})
// ====================================
// Bootstrap Vue
// ====================================
const i18n = new VueI18Next(i18next)
if (document.querySelector('#root')) {
window.wikijs = new Vue({
mixins: [helpers],
components: {},
store,
i18n,
el: '#root',
methods: {
changeTheme(opts) {
this.$el.className = `has-stickynav is-primary-${opts.primary} is-alternate-${opts.alt}`
this.$refs.header.className = `nav is-${opts.primary}`
this.$refs.footer.className = `footer is-${opts.footer}`
}
},
mounted() {
$('a:not(.toc-anchor)').smoothScroll({ speed: 500, offset: -50 })
$('#header').sticky({ topSpacing: 0 })
$('.sidebar-pagecontents').sticky({ topSpacing: 15, bottomSpacing: 75 })
}
})
}
})

View File

@ -13,24 +13,11 @@
fill: none;
}
&.is-16 {
width: 16px;
height: 16px;
@each $size in 16,18,20,24,48,64,96,128 {
&.is-#{$size} {
width: #{$size}px;
height: #{$size}px;
}
&.is-18 {
width: 18px;
height: 18px;
}
&.is-20 {
width: 20px;
height: 20px;
}
&.is-24 {
width: 24px;
height: 24px;
}
&.has-right-pad {

View File

@ -1,5 +1,6 @@
.config-manager {
background-image: linear-gradient(to right, mc('indigo', '400'), mc('indigo', '600'));
background-repeat: no-repeat;
width: 100%;
min-height: 100%;
padding-top: 1rem;
@ -22,6 +23,10 @@
border-bottom: 1px solid mc('indigo', '50');
margin-bottom: 1rem;
img {
max-height: 100px;
}
h2 {
margin: 0;
color: mc('indigo', '700');
@ -30,6 +35,27 @@
}
.is-logo {
text-align: center;
padding: .5rem 0 1.5rem 0;
border-bottom: 1px solid mc('indigo', '50');
margin-bottom: 1rem;
display: flex;
justify-content: center;
align-items: center;
img {
max-height: 64px;
}
h4 {
font-size: 1.2rem;
font-weight: 600;
margin-left: 1.5rem;
color: mc('grey', '700');
}
}
i.icon-loader {
display: inline-block;
color: mc('indigo', '500')

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -77,10 +77,10 @@ module.exports = () => {
Promise.mapSeries([
() => {
const semver = require('semver')
if (!semver.satisfies(semver.clean(process.version), '>=8.8.1')) {
throw new Error('Node.js version is too old. Minimum is 8.8.1.')
if (!semver.satisfies(semver.clean(process.version), '>=8.9.0')) {
throw new Error('Node.js version is too old. Minimum is 8.9.0.')
}
return 'Node.js ' + process.version + ' detected. Minimum is 8.8.1.'
return 'Node.js ' + process.version + ' detected. Minimum is 8.9.0.'
},
() => {
return Promise.try(() => {

View File

@ -19,7 +19,7 @@ block body
i(v-if='loading')
.panel-content.is-text
.welcome
img(src='/images/logo.png', alt='Wiki.js')
img(src='svg/logo-wikijs.svg', alt='Wiki.js Logo')
h2 A modern, lightweight and powerful wiki app built on NodeJS, Git and Markdown
p This installation wizard will guide you through the steps needed to get your wiki up and running in no time!
p Detailed information about installation and usage can be found on the #[a(href='https://wiki.requarks.io/docs') official documentation site]. #[br] Should you have any question or would like to report something that doesn't look right, feel free to create a new issue on the #[a(href='https://github.com/Requarks/wiki/issues') GitHub project].
@ -48,9 +48,12 @@ block body
template(v-else-if='state === "syscheck"')
.panel
h2.panel-title.is-featured
span System Check
span Wiki.js
i(v-if='loading')
.panel-content.is-text
.is-logo
svg.icons.is-64: use(xlink:href='#nc-metrics')
h4 System Check
p(v-if='loading') #[svg.icons.is-24.is-text: use(xlink:href='#nc-ms-dots')] Checking your system for compatibility...
p(v-if='!loading && syscheck.ok')
ul
@ -73,25 +76,17 @@ block body
template(v-else-if='state === "general"')
.panel
h2.panel-title.is-featured
span General
span Wiki.js
i(v-if='loading')
.panel-content.form-sections
section
.is-logo
svg.icons.is-64: use(xlink:href='#nc-butterfly')
h4 General Information
p.control.is-fullwidth
label.label Site Title
input(type='text', placeholder='e.g. Wiki', v-model='conf.title', data-vv-scope='general', name='ipt-title', v-validate='{ required: true, min: 2 }')
span.desc The site title will appear in the top left corner on every page and within the window title bar.
section.columns
.column.is-half
p.control
label.label Port
input(type='text', placeholder='e.g. 80', v-model.number='conf.port', data-vv-scope='general', name='ipt-port', v-validate='{ required: true }')
span.desc The port on which Wiki.js will listen to. Usually port 80 if connecting directly, or a random port (e.g. 3000) if using a web server in front of it. Set #[strong $(PORT)] to use the PORT environment variable.
.column.is-half
p.control.is-fullwidth
label.label Site Relative Path
input(type='text', placeholder='/', v-model='conf.path', data-vv-scope='general', name='ipt-path', v-validate='{ required: true, min: 1 }')
span.desc The relative path to your wiki. Unless you configure a reverse proxy in front of Wiki.js to handle requests made to a sub-directory, #[strong it is recommended to leave the default value].
section.columns
.column.is-half
p.control
@ -100,6 +95,17 @@ block body
each lg in data.langs
option(value=lg.id)= lg.name
span.desc The language in which navigation, help and other UI elements will be displayed.
.column.is-half
p.control.is-fullwidth
label.label Site Relative Path
input(type='text', placeholder='/', v-model='conf.path', data-vv-scope='general', name='ipt-path', v-validate='{ required: true, min: 1 }')
span.desc The relative path to your wiki. Unless you configure a reverse proxy in front of Wiki.js to handle requests made to a sub-directory, #[strong it is recommended to leave the default value].
section.columns
.column.is-half
p.control
label.label Server Port
input(type='text', placeholder='e.g. 80', v-model.number='conf.port', data-vv-scope='general', name='ipt-port', v-validate='{ required: true }')
span.desc The port on which Wiki.js will listen to. Usually port 80 if connecting directly, or a random port (e.g. 3000) if using a web server in front of it. Set #[strong $(PORT)] to use the PORT environment variable.
.column.is-half
p.control.is-fullwidth
input#ipt-public(type='checkbox', v-model='conf.public', data-vv-scope='general', name='ipt-public')
@ -107,7 +113,7 @@ block body
span.desc Should the site be accessible (read only) without login.
section
p.control.is-fullwidth
label.label Local Repository Path
label.label Local Server Repository Path
input(type='text', placeholder='e.g. ./repo', v-model='conf.pathRepo', data-vv-scope='general', name='ipt-repopath', v-validate='{ required: true, min: 2 }')
span.desc The path where the local git repository will be created, used to store content in markdown files and uploads.#[br] #[strong It is recommended to leave the default value].
.panel-footer
@ -122,9 +128,12 @@ block body
template(v-else-if='state === "considerations"')
.panel
h2.panel-title.is-featured
span Important Considerations
span Wiki.js
i(v-if='loading')
.panel-content.is-text
.is-logo
svg.icons.is-64: use(xlink:href='#nc-radar')
h4 Important Considerations
h3 Is Wiki.js going to be behind a web server (e.g. nginx / apache / IIS) or proxy?
p
ul
@ -149,9 +158,12 @@ block body
template(v-else-if='state === "git"')
.panel
h2.panel-title.is-featured
span Git Repository
span Wiki.js
i(v-if='loading')
.panel-content.is-text
.is-logo
img(src='svg/logo-git.svg', alt='Git Logo')
h4 Git Repository
p Wiki.js stores article content and uploads locally on disk. All content is then regularly kept in sync with a remote git repository. This acts a backup protection and provides history / revert features. While optional, it is <strong>HIGHLY</strong> recommended to setup the remote git repository connection.
.panel-content.form-sections
section.columns

View File

@ -68,5 +68,12 @@ module.exports = Promise.mapSeries([
() => {
console.info(colors.white(' └── ') + colors.green('Clearing fuse-box cache...'))
return fs.emptyDirAsync('./.fusebox')
},
/**
* Delete Test Results
*/
() => {
console.info(colors.white(' └── ') + colors.green('Clearing test results...'))
return fs.remove('./test_results')
}
], f => { return f() })