Webpage Pieces

unsorted
Published

2024-12-06

Modified

2024-12-06

General collection of potentially useful bits of raw HTML that may or may not at all be useful to you.

The Ramble Meter

I wanted a simple way to indicate how trustworthy and polished my posts are - it allows me to post stuff that is less structured while also indicating this clearly to the reader. This is the raw html to copy and paste wherever:

<style>
/* Container for the entire Ramble Meter */
.ramble-meter-container {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px 0;
}

/* Ramble Meter */
.ramble-meter {
  position: relative;
  width: 200px; /* Scaled down */
  height: 40px; /* Scaled down */
  background: linear-gradient(to right, green, yellow, orange, red);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Needle */
.needle {
  position: absolute;
  top: 5px; /* Adjust for centering */
  left: 50%; /* Default position */
  width: 4px; /* Visible width */
  height: 30px;
  background: black;
  border-radius: 2px;
  z-index: 2;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); /* Glow effect */
}

/* Label in the middle of the meter */
.meter-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: Arial, sans-serif;
  font-size: 12px; /* Adjusted for smaller size */
  font-weight: bold;
  color: #fff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  z-index: 3;
}

/* Tooltip styling */
.tooltip {
  visibility: hidden;
  width: 250px;
  background-color: #222;
  color: #fff;
  text-align: center;
  padding: 10px;
  border-radius: 5px;
  position: absolute;
  top: 50%; /* Vertically aligned */
  left: 110%; /* Position to the right of the meter */
  transform: translateY(-50%);
  font-size: 12px;
  z-index: 10;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

/* Show tooltip on hover */
.ramble-meter:hover + .tooltip {
  visibility: visible;
}

/* Wrapper for positioning the tooltip and meter */
.ramble-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
<div class="ramble-wrapper">
  <div class="ramble-meter" data-level="10"> <!-- Adjust level here (0-100) -->
    <div class="meter-label">Ramble Meter</div>
    <div class="needle"></div>
  </div>
  <div class="tooltip">This post is very close to being completely finished. Not that rambly at all.</div>
</div>

Which if wrapped in html tags in a docuwiki like this one yields:

<div class="ramble-wrapper">
  <div class="ramble-meter" data-level="90"> <!-- Adjust level here (0-100) -->
    <div class="meter-label">Ramble Meter</div>
    <div class="needle"></div>
  </div>
  <div class="tooltip">Warning: EXTREME RAMBLE AHEAD.</div>
</div>