vudash/vudash

View on GitHub
docs/_coverpage.md

Summary

Maintainability
Test Coverage
<svg class="logo" viewBox="0 0 176.08649 106.1699">
  <g transform="translate(-24.377661,-51.731245)">
    <g>
      <path d="M 52.739091,115.62048 41.50574,141.57211 H 35.573938 L 24.377661,115.62048 h 6.487909 l 7.896712,18.53688 8.007933,-18.53688 z" />
      <path d="m 66.978891,142.017 q -5.561064,0 -8.675261,-3.07712 -3.077122,-3.07713 -3.077122,-8.78649 v -14.53291 h 6.00595 v 14.31047 q 0,6.96987 5.783507,6.96987 2.817606,0 4.300557,-1.66832 1.48295,-1.70539 1.48295,-5.30155 v -14.31047 h 5.931803 v 14.53291 q 0,5.70936 -3.114196,8.78649 -3.077123,3.07712 -8.638188,3.07712 z" />
      <path d="m 86.409602,128.55922 q -1.520025,0 -2.55809,-1.03806 -1.038066,-1.03807 -1.038066,-2.59517 0,-1.59417 1.038066,-2.55809 1.038065,-1.00099 2.55809,-1.00099 1.520024,0 2.558089,1.00099 1.038066,0.96392 1.038066,2.55809 0,1.5571 -1.038066,2.59517 -1.038065,1.03806 -2.558089,1.03806 z m 0,13.30948 q -1.520025,0 -2.55809,-1.03806 -1.038066,-1.03807 -1.038066,-2.59517 0,-1.59417 1.038066,-2.55809 1.038065,-1.00099 2.55809,-1.00099 1.520024,0 2.558089,1.00099 1.038066,0.96392 1.038066,2.55809 0,1.5571 -1.038066,2.59517 -1.038065,1.03806 -2.558089,1.03806 z" />
      <path d="m 94.332957,115.62048 h 11.789453 q 4.22641,0 7.45183,1.63124 3.26249,1.59418 5.04203,4.523 1.81662,2.92883 1.81662,6.82158 0,3.89274 -1.81662,6.82157 -1.77954,2.92883 -5.04203,4.56007 -3.22542,1.59417 -7.45183,1.59417 H 94.332957 Z m 11.492863,21.02082 q 3.89275,0 6.19132,-2.15028 2.33565,-2.18735 2.33565,-5.89472 0,-3.70738 -2.33565,-5.85766 -2.29857,-2.18735 -6.19132,-2.18735 h -5.48691 v 16.09001 z" />
      <path d="m 141.69122,136.01105 h -12.04897 l -2.29858,5.56106 h -6.15424 l 11.56701,-25.95163 h 5.93181 l 11.60408,25.95163 h -6.30254 z m -1.89076,-4.56007 -4.11519,-9.93577 -4.11519,9.93577 z" />
      <path d="m 161.51178,142.017 q -3.07712,0 -5.96888,-0.81562 -2.85468,-0.8527 -4.59714,-2.18736 l 2.03905,-4.523 q 1.66832,1.22344 3.9669,1.96491 2.29857,0.74148 4.59714,0.74148 2.55809,0 3.78153,-0.74148 1.22343,-0.77855 1.22343,-2.03905 0,-0.92685 -0.74147,-1.52003 -0.70441,-0.63025 -1.85369,-1.00099 -1.11222,-0.37074 -3.04005,-0.81562 -2.9659,-0.7044 -4.85666,-1.40881 -1.89077,-0.7044 -3.2625,-2.2615 -1.33465,-1.55709 -1.33465,-4.15226 0,-2.2615 1.22343,-4.07811 1.22344,-1.85369 3.67031,-2.92883 2.48394,-1.07514 6.04302,-1.07514 2.48394,0 4.85666,0.59318 2.37272,0.59318 4.15226,1.7054 l -1.85368,4.56007 q -3.59616,-2.03906 -7.19231,-2.03906 -2.52102,0 -3.74446,0.81562 -1.18636,0.81563 -1.18636,2.15028 0,1.33466 1.37173,2.00199 1.40881,0.63025 4.26349,1.2605 2.9659,0.70441 4.85666,1.40881 1.89076,0.7044 3.22542,2.22442 1.37173,1.52003 1.37173,4.11519 0,2.22443 -1.26051,4.07812 -1.22344,1.81661 -3.70738,2.89175 -2.48394,1.07514 -6.04302,1.07514 z" />
      <path d="m 200.46415,115.62048 v 25.95163 h -6.00595 v -10.64017 h -11.78946 v 10.64017 h -6.00595 v -25.95163 h 6.00595 v 10.23236 h 11.78946 v -10.23236 z" />
    </g>
    <g transform="matrix(0.69851314,0,0,0.7944649,208.52468,40.27109)">
      <g>
        <rect y="14.424998" x="-177.00626" height="18.785416" width="37.570831" />
        <rect y="36.782299" x="-177.27081" height="43.65625" width="37.570835" />
      </g>
      <g transform="matrix(1,0,0,-1,41.539557,94.863551)">
        <rect y="14.424998" x="-177.00626" height="18.785416" width="37.570831" />
        <rect y="36.782299" x="-177.27081" height="43.65625" width="37.570835" />
      </g>
    </g>
    <g>
      <path d="m 60.611902,151.0302 h 2.492399 q 0.981562,0 1.741792,0.40418 0.76023,0.39455 1.183649,1.1644 0.423419,0.76023 0.423419,1.79953 0,1.0393 -0.423419,1.80916 -0.423419,0.76023 -1.183649,1.1644 -0.76023,0.39455 -1.741792,0.39455 h -2.492399 z m 2.492399,5.90863 q 1.12591,0 1.732169,-0.68325 0.615882,-0.69287 0.615882,-1.85727 0,-1.1644 -0.615882,-1.84765 -0.606259,-0.69286 -1.732169,-0.69286 h -1.578199 v 5.08103 z" />
      <path d="m 70.974544,155.94764 h -2.579008 l -0.644752,1.81878 h -0.962316 l 2.415414,-6.73622 h 0.962316 l 2.415414,6.73622 h -0.962316 z m -0.288695,-0.82759 -1.000809,-2.80996 -1.000809,2.80996 z" />
      <path d="m 75.336092,157.90114 q -0.596636,0 -1.212519,-0.13472 -0.615882,-0.1251 -0.991185,-0.29832 l 0.125101,-0.97194 q 0.481158,0.23096 1.087417,0.40417 0.606259,0.17322 1.202895,0.17322 0.673622,0 1.039302,-0.24058 0.375303,-0.2502 0.375303,-0.74098 0,-0.36568 -0.192463,-0.60626 -0.18284,-0.2502 -0.54852,-0.4138 -0.356057,-0.17321 -1.000809,-0.36568 -0.654375,-0.19246 -1.087418,-0.41379 -0.433042,-0.22134 -0.70249,-0.60626 -0.259826,-0.38493 -0.259826,-0.97194 0,-0.81797 0.625506,-1.31837 0.635129,-0.50041 1.780285,-0.50041 0.615882,0 1.164402,0.13472 0.558144,0.13473 0.97194,0.32719 l -0.09623,0.97194 q -0.538897,-0.31756 -1.039301,-0.46191 -0.500405,-0.14435 -1.039302,-0.14435 -0.625505,0 -1.000809,0.23096 -0.36568,0.23095 -0.36568,0.71211 0,0.32719 0.163594,0.5389 0.173217,0.21171 0.490781,0.36568 0.317565,0.14435 0.885331,0.31756 1.135533,0.34644 1.693677,0.8276 0.558143,0.47153 0.558143,1.30875 0,0.88533 -0.663998,1.38573 -0.663998,0.49078 -1.963125,0.49078 z" />
      <path d="m 79.031236,151.0302 h 0.9142 v 2.7811 h 3.425846 v -2.7811 h 0.914201 v 6.73622 h -0.914201 v -3.08904 h -3.425846 v 3.08904 h -0.9142 z" />
      <path d="m 89.194046,154.09999 q 0.635129,0.15397 0.971939,0.59664 0.336811,0.43304 0.336811,1.14516 0,0.89495 -0.57739,1.4146 -0.567766,0.51003 -1.568575,0.51003 h -2.540515 v -6.73622 h 2.126719 q 0.923823,0 1.424228,0.4138 0.510027,0.4138 0.510027,1.23177 0,0.48115 -0.173216,0.85646 -0.173217,0.3753 -0.510028,0.56776 z m -2.46353,-0.26944 h 1.097041 q 0.538897,0 0.817969,-0.21171 0.288695,-0.22134 0.288695,-0.77948 0,-0.55814 -0.288695,-0.76985 -0.279072,-0.22134 -0.817969,-0.22134 h -1.097041 z m 1.54933,3.10828 q 0.567766,0 0.894954,-0.27908 0.327187,-0.28869 0.327187,-0.84683 0,-1.15478 -1.222141,-1.15478 h -1.54933 v 2.28069 z" />
      <path d="m 94.502725,157.90114 q -0.962316,0 -1.722546,-0.43304 -0.750607,-0.43304 -1.174026,-1.22214 -0.423419,-0.79872 -0.423419,-1.84765 0,-1.04892 0.423419,-1.83802 0.423419,-0.79872 1.174026,-1.23177 0.76023,-0.43304 1.722546,-0.43304 0.962316,0 1.712923,0.43304 0.76023,0.43305 1.183649,1.23177 0.423419,0.7891 0.423419,1.83802 0,1.04893 -0.423419,1.84765 -0.423419,0.7891 -1.183649,1.22214 -0.750607,0.43304 -1.712923,0.43304 z m 0,-0.88533 q 0.750607,0 1.279881,-0.33681 0.529274,-0.34643 0.789099,-0.93345 0.269449,-0.59663 0.269449,-1.34724 0,-0.7506 -0.269449,-1.33762 -0.259825,-0.59663 -0.789099,-0.93344 -0.529274,-0.34644 -1.279881,-0.34644 -0.750606,0 -1.27988,0.34644 -0.529274,0.33681 -0.798723,0.93344 -0.259825,0.58702 -0.259825,1.33762 0,0.75061 0.259825,1.34724 0.269449,0.58702 0.798723,0.93345 0.529274,0.33681 1.27988,0.33681 z" />
      <path d="m 102.3438,155.94764 h -2.579011 l -0.644752,1.81878 h -0.962316 l 2.415409,-6.73622 h 0.96232 l 2.41541,6.73622 h -0.96231 z m -0.2887,-0.82759 -1.00081,-2.80996 -1.00081,2.80996 z" />
      <path d="m 104.78071,151.0302 h 2.18446 q 1.09704,0 1.71292,0.51003 0.61589,0.50041 0.61589,1.53971 0,1.34724 -1.17403,1.89576 l 1.51084,2.79072 h -1.11629 l -1.36649,-2.62712 h -1.40498 v 2.62712 h -0.96232 z m 2.17484,3.29113 q 0.67362,0 1.02968,-0.32719 0.35605,-0.32719 0.35605,-0.9142 0,-0.58701 -0.35605,-0.90458 -0.34644,-0.32719 -1.02968,-0.32719 h -1.21252 v 2.47316 z" />
      <path d="m 110.58844,151.0302 h 2.4924 q 0.98156,0 1.74179,0.40418 0.76023,0.39455 1.18365,1.1644 0.42342,0.76023 0.42342,1.79953 0,1.0393 -0.42342,1.80916 -0.42342,0.76023 -1.18365,1.1644 -0.76023,0.39455 -1.74179,0.39455 h -2.4924 z m 2.4924,5.90863 q 1.12591,0 1.73217,-0.68325 0.61588,-0.69287 0.61588,-1.85727 0,-1.1644 -0.61588,-1.84765 -0.60626,-0.69286 -1.73217,-0.69286 h -1.5782 v 5.08103 z" />
      <path d="m 123.22531,155.94764 h -2.57901 l -0.64475,1.81878 h -0.96232 l 2.41542,-6.73622 h 0.96231 l 2.41542,6.73622 h -0.96232 z m -0.2887,-0.82759 -1.00081,-2.80996 -1.0008,2.80996 z" />
      <path d="m 125.66223,151.0302 h 0.99118 l 3.31999,5.04254 v -5.04254 h 0.92383 v 6.73622 h -0.77948 l -3.54132,-5.32161 v 5.32161 h -0.9142 z" />
      <path d="m 137.21122,151.0302 -2.3673,3.8204 v 2.91582 h -0.9142 v -2.91582 l -2.37692,-3.8204 h 1.0393 l 1.78991,2.92545 1.78991,-2.92545 z" />
      <path d="m 139.21675,151.8578 h -1.96313 v -0.8276 h 4.84045 v 0.8276 h -1.96312 v 5.90862 h -0.9142 z" />
      <path d="m 143.01023,151.0302 h 0.9142 v 2.7811 h 3.42585 v -2.7811 h 0.9142 v 6.73622 h -0.9142 v -3.08904 h -3.42585 v 3.08904 h -0.9142 z" />
      <path d="m 149.79531,151.0302 h 0.9142 v 6.73622 h -0.9142 z" />
      <path d="m 152.25749,151.0302 h 0.99118 l 3.31999,5.04254 v -5.04254 h 0.92383 v 6.73622 h -0.77948 l -3.54132,-5.32161 v 5.32161 h -0.9142 z" />
      <path d="m 161.92997,157.90114 q -0.93345,0 -1.68405,-0.43304 -0.75061,-0.43304 -1.18365,-1.23176 -0.43305,-0.79873 -0.43305,-1.84765 0,-1.04893 0.44267,-1.83803 0.45229,-0.78909 1.24139,-1.22214 0.7891,-0.43304 1.79953,-0.43304 0.51003,0 1.00081,0.10586 0.5004,0.10585 0.89495,0.27907 l -0.0866,0.79872 q -0.93344,-0.35606 -1.78028,-0.35606 -0.83722,0 -1.40498,0.35606 -0.55815,0.34643 -0.83722,0.95269 -0.26945,0.59664 -0.26945,1.36649 0,1.21252 0.64476,1.94388 0.65437,0.73136 1.915,0.73136 0.26945,0 0.57739,-0.0385 0.30795,-0.0481 0.54852,-0.14435 v -1.67443 h -1.05854 v -0.82759 h 1.97275 v 3.00243 q -0.42342,0.23095 -1.02006,0.3753 -0.58701,0.13472 -1.27988,0.13472 z" />
    </g>
  </g>
</svg>

<style>
  .logo {
    width: 33vw;
  }

  path, rect {
    fill: #000;
  }
</style>

- Uses websockets for realtime updates
- Integrates with a huge number of services
- Familiar JSON configuration
- Extensible datasource system

[GitHub](https://github.com/vudash/vudash)
[Get Started](#quick-start)