Skip to content

Commit 8888d69

Browse files
authoredMay 24, 2024··
feat: add remove option field to playground (#445)
* feat: added `remove` field with regex parsing * feat: added placeholder for `remove` field * feat: fold advanced options under a <details> disclosure
1 parent e77b683 commit 8888d69

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed
 

‎index.html

+11-3
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,11 @@
1313
<input type="text" id="input" placeholder="An Apple computer" autofocus>
1414
</fieldset>
1515

16-
17-
1816
<fieldset>
1917
<label for="replacement">Replacement character</label>
2018
<input type="text" id="replacement" name="replacement" placeholder="-">
2119
</fieldset>
2220

23-
2421
<fieldset>
2522
<label>
2623
<input type="checkbox" name="lowercase" checked> Lowercase
@@ -39,6 +36,17 @@
3936
</label>
4037
</fieldset>
4138

39+
<details>
40+
<summary><h4>Advanced options</h4></summary>
41+
<fieldset style="display: flex; justify-content: flex-start; align-items: center">
42+
<label for="remove">Remove chars (regex)</label>&nbsp;
43+
/<input type="text" id="remove" name="remove" placeholder="(?<= )((a)|(an)|(the))(?= )" />/<br />
44+
<label> <input type="checkbox" name="regex_g" /> g </label>
45+
46+
<label> <input type="checkbox" name="regex_i" /> i </label>
47+
</fieldset>
48+
</details>
49+
4250
<input type="submit" value="Slug it">
4351

4452
</form>

‎playground.js

+9
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,21 @@ form.addEventListener('submit', function (e) {
1414
const trim = fd.get('trim')
1515
const fallback = fd.get('fallback')
1616

17+
const remove = fd.get('remove')
18+
const regexG = fd.get('regex_g') === null ? '' : 'g'
19+
const regexI = fd.get('regex_i') === null ? '' : 'i'
20+
1721
const opts = {}
1822

1923
if (replacement.length > 0) {
2024
opts.replacement = replacement
2125
}
2226

27+
if (remove !== null && remove.length > 0) {
28+
const regex = new RegExp(`/${remove}/${regexG}${regexI}`)
29+
opts.remove = regex
30+
}
31+
2332
opts.lower = lowercase !== null
2433

2534
opts.trim = trim !== null

0 commit comments

Comments
 (0)
Please sign in to comment.