feat: some shit
This commit is contained in:
14
src/helpers/colors.ts
Normal file
14
src/helpers/colors.ts
Normal file
@ -0,0 +1,14 @@
|
||||
// function to turn css rgb() strings to hex
|
||||
export function rgbToHex(rgb: string) {
|
||||
let hex = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
|
||||
if (!hex) return rgb;
|
||||
return (
|
||||
"#" +
|
||||
hex
|
||||
.slice(1)
|
||||
.map((x) => {
|
||||
return ("0" + parseInt(x).toString(16)).slice(-2);
|
||||
})
|
||||
.join("")
|
||||
);
|
||||
}
|
1033
src/helpers/exif.ts
Normal file
1033
src/helpers/exif.ts
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,25 @@
|
||||
import MarkdownIt from 'markdown-it';
|
||||
const parser = new MarkdownIt();
|
||||
|
||||
export default function markdownToText(markdown: string): string {
|
||||
return markdown.replace(/#|`|\*|_|~/g, '');
|
||||
return parser
|
||||
.render(markdown)
|
||||
.split('\n')
|
||||
.map((str) => str.trim())
|
||||
.map((str) => {
|
||||
return str.replace(/<\/?[^>]+(>|$)/g, '').split('\n');
|
||||
})
|
||||
.flat()
|
||||
.filter((str) => !str.startsWith("import")
|
||||
&& !str.startsWith("export")
|
||||
&& !str.startsWith("#")
|
||||
&& !str.startsWith("const")
|
||||
&& !str.startsWith("function")
|
||||
&& !str.startsWith("export")
|
||||
&& !str.startsWith("import")
|
||||
&& !str.startsWith("<")
|
||||
&& !str.startsWith("let")
|
||||
&& str.length > 0
|
||||
)
|
||||
.join(' ');
|
||||
}
|
||||
|
49
src/helpers/normalizeWheel.ts
Normal file
49
src/helpers/normalizeWheel.ts
Normal file
@ -0,0 +1,49 @@
|
||||
|
||||
// Reasonable defaults
|
||||
var PIXEL_STEP = 10;
|
||||
var LINE_HEIGHT = 40;
|
||||
var PAGE_HEIGHT = 800;
|
||||
|
||||
export default function normalizeWheel(/*object*/ event) /*object*/ {
|
||||
var sX = 0, sY = 0, // spinX, spinY
|
||||
pX = 0, pY = 0; // pixelX, pixelY
|
||||
|
||||
// Legacy
|
||||
if ('detail' in event) { sY = event.detail; }
|
||||
if ('wheelDelta' in event) { sY = -event.wheelDelta / 120; }
|
||||
if ('wheelDeltaY' in event) { sY = -event.wheelDeltaY / 120; }
|
||||
if ('wheelDeltaX' in event) { sX = -event.wheelDeltaX / 120; }
|
||||
|
||||
// side scrolling on FF with DOMMouseScroll
|
||||
if ('axis' in event && event.axis === event.HORIZONTAL_AXIS) {
|
||||
sX = sY;
|
||||
sY = 0;
|
||||
}
|
||||
|
||||
pX = sX * PIXEL_STEP;
|
||||
pY = sY * PIXEL_STEP;
|
||||
|
||||
if ('deltaY' in event) { pY = event.deltaY; }
|
||||
if ('deltaX' in event) { pX = event.deltaX; }
|
||||
|
||||
if ((pX || pY) && event.deltaMode) {
|
||||
if (event.deltaMode == 1) { // delta in LINE units
|
||||
pX *= LINE_HEIGHT;
|
||||
pY *= LINE_HEIGHT;
|
||||
} else { // delta in PAGE units
|
||||
pX *= PAGE_HEIGHT;
|
||||
pY *= PAGE_HEIGHT;
|
||||
}
|
||||
}
|
||||
|
||||
// Fall-back if spin cannot be determined
|
||||
if (pX && !sX) { sX = (pX < 1) ? -1 : 1; }
|
||||
if (pY && !sY) { sY = (pY < 1) ? -1 : 1; }
|
||||
|
||||
return {
|
||||
spinX: sX,
|
||||
spinY: sY,
|
||||
pixelX: pX,
|
||||
pixelY: pY
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user