open vscode paste following to find and replace, enable regexp and execute replace all, then execute second one
find:
"(name|label|default|category)":\s\{\n(\s*"(?!en).+":\s*".+",?)+
replace:
"$1": {
find:
### Tailwindcss V4 | |
**Tailwind CSS Cheat Sheet** | |
Theming without config.js: Tailwind v4.0 allows direct CSS customization. Variables can be declared within your css files and used. For example, you can declare color variables in your main css file, and then use them within your tailwind classes. This allows for css first configuration. | |
**Core Concepts:** | |
* **Utility-First:** Class-based styling. | |
* **Responsive:** Breakpoint prefixes (sm:, md:, lg:, xl:, 2xl:). | |
* **Dark Mode:** `dark:` prefix. |
{ | |
"YSETCOLI": "YSETCONSES", | |
"YSETCODD": "YSETCONSES", | |
"YSETCOBB": "YSETCOJSES", | |
"YSETCOFF": "YSETCOJSES", | |
"YSETCOLF": "YSETCOJSES", | |
"YSETCOFL": "YSETCOJSES", | |
"YSETCOQV": "YSETCOJSES", | |
"YSETCOTX": "YSETCOJSES", | |
"COPA": "YSETCOJSES", |
Convert this script from jquery to vanilla js. Be careful about null scenarios, for example when you convert $('.class').show() to document.querySelector('.class').style.display = 'block' keep in mind result of querySelector might be null. I solve this issue like this: (document.querySelector('.class') || { style: {}}).style.display = 'block' | |
Also use fetch and es6 as much as you can. | |
Do not make any explanations, only try to convert and comment the parts you think can not be converted easily. | |
Here is the script: |
(() => { | |
Array.from(document.querySelectorAll('.description textarea')).forEach(tx => { | |
tx.value = tx.value.replace(/(.+)petek:(.+)/, '$2 $1petek') | |
.replace(/^\s*([^\[\s]+)\s/, '[$1] '); | |
}); | |
const spaces = {}; | |
let total = 0; | |
Array.from(document.querySelectorAll('#invoice_item_rows>tr')).forEach(row => { | |
const description = row.querySelector('textarea').value; | |
const identifier = description.match(/\[[^\]]+\]/)[0].split('-')[0].replace('[', ''); |
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.4; | |
import "@openzeppelin/[email protected]/token/ERC721/ERC721.sol"; | |
import "@openzeppelin/[email protected]/token/ERC721/extensions/ERC721Enumerable.sol"; | |
import "@openzeppelin/[email protected]/security/Pausable.sol"; | |
import "@openzeppelin/[email protected]/access/Ownable.sol"; | |
import "@openzeppelin/[email protected]/token/ERC721/extensions/ERC721Burnable.sol"; | |
import "@openzeppelin/[email protected]/utils/Counters.sol"; | |
import "@openzeppelin/[email protected]/token/ERC721/extensions/ERC721URIStorage.sol"; |
video-container { | |
position: relative; | |
} | |
.video-container:after { | |
display: block; | |
content: ''; | |
position: absolute; | |
width: 100%; | |
height: 100%; | |
top: 0; |
window.turkishStemmer = function() { | |
var g = true; | |
var p = false; | |
function C() { | |
this.p = function(k) { | |
this.j = k; | |
this.cursor = 0; | |
this.a = this.j.length; | |
this.f = 0; |
function JSONparse (content) { | |
try{ | |
return JSON.parse(content); | |
} catch (err) { | |
try { | |
const offset = parseInt(err.message.match(/position\s+(\d+)/)[1], 10); | |
const linesUntilError = content.slice(0, offset + 1).split('\n'); | |
const errorLine = linesUntilError.length; | |
const contentLines = content.split('\n'); | |
const lineOffset = linesUntilError[linesUntilError.length - 1].length - 1; |