瀏覽代碼

feat: config wizard UI improvements

NGPixel 7 年之前
父節點
當前提交
1658fcbf2e

File diff suppressed because it is too large
+ 0 - 0
assets/svg/logo-git.svg


+ 107 - 0
assets/svg/logo-wikijs.svg

@@ -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>

+ 1 - 2
client/js/app.js

@@ -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
 // ====================================

+ 0 - 153
client/js/app.old.js

@@ -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 })
-      }
-    })
-  }
-})

+ 5 - 18
client/scss/base/icons.scss

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

+ 26 - 0
client/scss/components/config-manager.scss

@@ -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 it is too large
+ 0 - 0
client/svg/icons.svg


+ 3 - 3
server/configure.js

@@ -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(() => {

+ 26 - 14
server/views/configure/index.pug

@@ -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,10 +76,13 @@ 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 }')
@@ -84,9 +90,11 @@ block body
                     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.
+                          label.label Site UI Language
+                          select(v-model='conf.lang')
+                            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
@@ -95,11 +103,9 @@ block body
                     section.columns
                       .column.is-half
                         p.control
-                          label.label Site UI Language
-                          select(v-model='conf.lang')
-                            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.
+                          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

+ 7 - 0
tools/fuse_tasks.js

@@ -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() })

Some files were not shown because too many files changed in this diff