Highlight regular expression syntax in Exclusions Table (#341)
This commit is contained in:
		
							parent
							
								
									d340bceb39
								
							
						
					
					
						commit
						baacbbdc52
					
				
							
								
								
									
										1
									
								
								frontend/index.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								frontend/index.d.ts
									
									
									
									
										vendored
									
									
								
							@ -1 +1,2 @@
 | 
			
		||||
declare module "*.svg";
 | 
			
		||||
declare module "regex-colorize";
 | 
			
		||||
 | 
			
		||||
@ -18,6 +18,7 @@
 | 
			
		||||
    "lodash": "^4.17.21",
 | 
			
		||||
    "path-parser": "^6.1.0",
 | 
			
		||||
    "pretty-ms": "^7.0.1",
 | 
			
		||||
    "regex-colorize": "^0.0.3",
 | 
			
		||||
    "tailwindcss": "^3.1.8",
 | 
			
		||||
    "yaml": "^2.0.0-11"
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,7 @@
 | 
			
		||||
import { state, property } from "lit/decorators.js";
 | 
			
		||||
import { html as staticHtml, unsafeStatic } from "lit/static-html.js";
 | 
			
		||||
import { msg, localized } from "@lit/localize";
 | 
			
		||||
import RegexColorize from "regex-colorize";
 | 
			
		||||
 | 
			
		||||
import type { CrawlConfig } from "../pages/archive/types";
 | 
			
		||||
import LiteElement, { html } from "../utils/LiteElement";
 | 
			
		||||
@ -52,7 +54,7 @@ export class QueueExclusionTable extends LiteElement {
 | 
			
		||||
            <th class="font-normal px-2 pb-1">${msg("Exclusion Value")}</th>
 | 
			
		||||
          </tr>
 | 
			
		||||
        </thead>
 | 
			
		||||
        <tbody class="text-neutral-500">
 | 
			
		||||
        <tbody class="text-neutral-600">
 | 
			
		||||
          ${this.exclusions.map(this.renderItem)}
 | 
			
		||||
        </tbody>
 | 
			
		||||
      </table>
 | 
			
		||||
@ -72,10 +74,14 @@ export class QueueExclusionTable extends LiteElement {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let typeLabel: string = exclusion.type;
 | 
			
		||||
    let value: any = exclusion.value;
 | 
			
		||||
 | 
			
		||||
    switch (exclusion.type) {
 | 
			
		||||
      case "regex":
 | 
			
		||||
        typeLabel = msg("Regex");
 | 
			
		||||
        value = staticHtml`<span class="regex">${unsafeStatic(
 | 
			
		||||
          new RegexColorize().colorizeText(exclusion.value)
 | 
			
		||||
        )}</span>`;
 | 
			
		||||
        break;
 | 
			
		||||
      case "text":
 | 
			
		||||
        typeLabel = msg("Matches Text");
 | 
			
		||||
@ -90,7 +96,7 @@ export class QueueExclusionTable extends LiteElement {
 | 
			
		||||
          ${typeLabel}
 | 
			
		||||
        </td>
 | 
			
		||||
        <td class="border-t border-r p-2 font-mono${valueColClass}">
 | 
			
		||||
          ${exclusion.value}
 | 
			
		||||
          ${value}
 | 
			
		||||
        </td>
 | 
			
		||||
      </tr>
 | 
			
		||||
    `;
 | 
			
		||||
 | 
			
		||||
@ -22,6 +22,7 @@ import "./components";
 | 
			
		||||
import "./pages";
 | 
			
		||||
import "./assets/fonts/Inter/inter.css";
 | 
			
		||||
import "./assets/fonts/Recursive/recursive.css";
 | 
			
		||||
import "./styles.css";
 | 
			
		||||
 | 
			
		||||
type DialogContent = {
 | 
			
		||||
  label?: TemplateResult | string;
 | 
			
		||||
@ -188,10 +189,6 @@ export class App extends LiteElement {
 | 
			
		||||
  render() {
 | 
			
		||||
    return html`
 | 
			
		||||
      <style>
 | 
			
		||||
        .uppercase {
 | 
			
		||||
          letter-spacing: 0.06em;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ${theme}
 | 
			
		||||
      </style>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										58
									
								
								frontend/src/styles.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								frontend/src/styles.css
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,58 @@
 | 
			
		||||
/* Global styles */
 | 
			
		||||
.uppercase {
 | 
			
		||||
  letter-spacing: 0.06em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Regex Colorizer no bg theme */
 | 
			
		||||
/* https://stevenlevithan.com/regex/colorizer/themes/nobg.css */
 | 
			
		||||
 | 
			
		||||
.regex {
 | 
			
		||||
  color: var(--sl-color-neutral-500);
 | 
			
		||||
}
 | 
			
		||||
/* metasequence */
 | 
			
		||||
.regex b {
 | 
			
		||||
  color: var(--sl-color-blue-500);
 | 
			
		||||
}
 | 
			
		||||
/* char class */
 | 
			
		||||
.regex i {
 | 
			
		||||
  color: var(--sl-color-lime-500);
 | 
			
		||||
}
 | 
			
		||||
/* char class: metasequence */
 | 
			
		||||
.regex i b {
 | 
			
		||||
  color: var(--sl-color-green-500);
 | 
			
		||||
}
 | 
			
		||||
/* char class: range-hyphen */
 | 
			
		||||
.regex i u {
 | 
			
		||||
  color: var(--sl-color-green-500);
 | 
			
		||||
}
 | 
			
		||||
/* group: depth 1 */
 | 
			
		||||
.regex b.g1 {
 | 
			
		||||
  color: var(--sl-color-orange-500);
 | 
			
		||||
}
 | 
			
		||||
/* group: depth 2 */
 | 
			
		||||
.regex b.g2 {
 | 
			
		||||
  color: var(--sl-color-amber-500);
 | 
			
		||||
}
 | 
			
		||||
/* group: depth 3 */
 | 
			
		||||
.regex b.g3 {
 | 
			
		||||
  color: var(--sl-color-rose-500);
 | 
			
		||||
}
 | 
			
		||||
/* group: depth 4 */
 | 
			
		||||
.regex b.g4 {
 | 
			
		||||
  color: var(--sl-color-teal-500);
 | 
			
		||||
}
 | 
			
		||||
/* group: depth 5 */
 | 
			
		||||
.regex b.g5 {
 | 
			
		||||
  color: var(--sl-color-fuchsia-500);
 | 
			
		||||
}
 | 
			
		||||
/* error */
 | 
			
		||||
.regex b.err {
 | 
			
		||||
  color: var(--sl-color-danger-500);
 | 
			
		||||
}
 | 
			
		||||
.regex b,
 | 
			
		||||
.regex i,
 | 
			
		||||
.regex u {
 | 
			
		||||
  font-weight: normal;
 | 
			
		||||
  font-style: normal;
 | 
			
		||||
  text-decoration: none;
 | 
			
		||||
}
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Shoelace CSS theming variables
 | 
			
		||||
 * Shoelace CSS theming variables and component overrides
 | 
			
		||||
 * https://github.com/shoelace-style/shoelace/blob/next/src/themes/light.css
 | 
			
		||||
 *
 | 
			
		||||
 * To make new variables available to Tailwind, update
 | 
			
		||||
 | 
			
		||||
@ -4571,6 +4571,11 @@ reduce-flatten@^2.0.0:
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27"
 | 
			
		||||
  integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==
 | 
			
		||||
 | 
			
		||||
regex-colorize@^0.0.3:
 | 
			
		||||
  version "0.0.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/regex-colorize/-/regex-colorize-0.0.3.tgz#33aabc607b08aa45f26e70c03b7f4066d6fff441"
 | 
			
		||||
  integrity sha512-y+GIlZUqhLQ48T1dZ/FRax14lkVZD1NE3/f7xKuBaasiiMLF5T26Ahjym+vswKPDrtMSfElRr+XPAIHx0AT2Hw==
 | 
			
		||||
 | 
			
		||||
regexp.prototype.flags@^1.2.0:
 | 
			
		||||
  version "1.3.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26"
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user